0

我正在尝试将捕获的照片(.jpeg 格式)转换为十六进制字符串,但是当涉及到操作时,它需要 2 分钟以上才能返回成功的转换。您能告诉我除了增加缓冲区大小之外如何提高性能吗?(在安卓中使用)

以下是我的代码

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;
    }
}
4

0 回答 0