キャプチャした写真 (.jpeg 形式) を 16 進数の文字列に変換しようとしていますが、実行すると、変換が成功するまでに 2 分以上かかります。バッファサイズを増やす以外にパフォーマンスを向上させる方法を教えてください。(Androidで使用)
以下は私のコードです
private String changeByteToHex(byte[] a) {
StringBuilder sb = new StringBuilder();
for (byte d : a) {
sb.append(String.format("%02X", d));
}
return sb.toString();
}
public String photoEncode(File file) {
try{
ByteArrayInputStream inStream = retrieveByteArrayInputStream(file);
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] temp = new byte[8192];
int read;
while((read = inStream.read(temp)) >= 0){
outStream.write(temp, 0, read);
}
byte[] data = outStream.toByteArray();
return changeByteToHex(data);
} catch(Exception ex) {
ex.printStackTrace();
return null;
}
}