概述
今天研究用zipalign(压缩对齐)优化APK文件。
未签名的apk不能使用,也不能优化。签名之后的apk谷歌推荐使用zipalign.exe(位于android-sdk-windowstools目录下)工具对其优化:
D:>zipalign -v 4 signed.apk final.apk
zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值)//TODO 需要研究mmap()函数。
注意:
1.在4个字节边界上对齐的意思就是,一般来说,是指编译器吧4个字节作为一个单位来进行读取的结果,这样的话,CPU能够对变量进行高效、快速的访问(较之前不对齐)。
2.对齐的根源:android系统中的Davlik虚拟机使用自己专有的格式DEX,DEX的结构是紧凑的,为了让运行时的性能更好,可以进一步用"对齐"进一步优化,但是大小一般会有所增加。
不过我在运行D:>D:android-sdksbuild-tools24.0.0-previewzipalign -v 4 C:UsersAdministratorDesktopsigned.apk C:UsersAdministratorDesktopfinal.apk 的时候,出现了 Unable to open 'C:UsersAdministratorDesktopsigned.apk' as zip archive 这个错误。
经过测试发现是因为编码不符造成的,只要在eclipse的ini文件里(eclipse.ini)加入
-Dfile.encoding=utf-8 就可以解决。
最后
以上就是优美大白为你收集整理的有关zipalign的一些问题的全部内容,希望文章能够帮你解决有关zipalign的一些问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复