作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在我当前的项目中,我使用了多个 .so 文件。它们位于 armeabi 和 armeabi-v7a 文件夹中。不幸的是,其中一个 .so 文件是 6MB,我需要减小文件大小。我不想使用胖 APK 文件,而是只使用 armeabi 文件并删除 armeabi-v7a 文件夹。
根据 NDK 文档,armeabi-v7a 代码是扩展的 armeabi 代码,可以包含额外的 CPU 指令。这一切都超出了我的专业范围,但我质疑为什么要同时拥有 armeabi-v7a 和 armeabi 代码。必须有充分的理由同时拥有两者,对吧?
在我的测试设备上,这一切似乎都运行良好。这些具有ARM v7 CPU。现在可以假设一切正常吗?
最佳答案
取决于您的 native 代码的功能,但 v7a 支持硬件浮点运算,这有很大的不同。 armeabi 在所有设备上都可以正常工作,但速度会慢很多,并且不会利用新设备的 CPU 功能。请为您的特定应用程序进行一些基准测试,但删除 armeabi-v7a 二进制文件通常不是一个好主意。如果您需要减小尺寸,您可能希望为旧的 (armeabi) 和新的 (armeabi-v7a) 设备提供两个单独的 apk。
关于android - 为什么使用 armeabi-v7a 代码而不是 armeabi 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7080525/
我是一名优秀的程序员,十分优秀!