我有一个Android应用程序,我试图将图片发送到服务器。我使用Base64编码完成了这个工作,它工作得很好,但是在发送之前花费太多内存(和时间)对图片进行编码。Java/Android:通过套接字读取/写入字节数组
我试图剥离Android应用程序到它只是简单地发送字节数组,并没有摆弄任何种类的编码方案,所以它会尽可能节省内存和CPU周期。
这是我想了Android的代码是什么样子:
public String sendPicture(byte[] picture, String address) {
try {
Socket clientSocket = new Socket(address, 8000);
OutputStream out = clientSocket.getOutputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
out.write(picture);
return in.readLine();
}
catch(IOException ioe) {
Log.v("test", ioe.getMessage());
}
return " ";
}
服务器是用Java编写。如何编写服务器代码,以便我可以正确检索完全相同的字节数组?我的目标是尽可能多地在Android上节省CPU周期。
到目前为止,我尝试过的所有方法都会导致数据损坏或引发异常。
任何帮助将不胜感激。
工作,但从流读取字节的字节是完全低效和缓慢。更好的办法是一次至少读取1024个字节。 – Robert 2011-01-08 13:02:12