我有以下代码用于将字节数组编码为 HEX 字符串
private static final char[] HEX_CHARS = "0123456789abcdef".toCharArray();
public static void WriteHexBytes(byte[] data, StringBuilder sb)
{
char[] chars = new char[data.length*2];
for (int i = 0; i < data.length; ++i)
{
chars[2*i] = HEX_CHARS[(data[i] & 0xF0) >>> 4];
chars[2*i + 1] = HEX_CHARS[data[i] & 0x0F];
}
sb.append(chars);
}
for
循环非常慢,它需要在真实设备上对字节10 seconds
进行编码。3MB
在模拟器上它需要永远。sb.append
即刻执行。
这是正常的吗?对我来说似乎很慢?是什么导致缓慢?
在三星 Galaxy Tab 2 7.0 上测试