我正在使用我的新应用程序来处理从手机摄像头捕获的图像。我的手机是 Nexus S,2.3.4。
我用捕获的数据创建了一个 ARGB_8888 位图。我知道 ndk 镜像库,但它只支持 2.2 及更高版本。于是我把Bitmap的int[]传给NDK,发现颜色字节序是little-endian。
我搜索了 wiki,发现 arm 架构是双端的。 http://en.wikipedia.org/wiki/Endianness#Bi-endian_hardware
我的问题是如果arm是双端的,如何判断特定设备中的字节顺序?每次访问数据之前是否应该测试字节顺序?
最佳答案
直接来 self 的 Nexus S:
> import java.nio.*;
> System.out.println(ByteOrder.nativeOrder());
LITTLE_ENDIAN
还应该有一些方法可以在 NDK 中获取排序。
关于android - Android NDK 的字节顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6212951/