本文共 957 字,大约阅读时间需要 3 分钟。
晚上无聊的蛋痛,打开手机查看所有应用软件的信息时,突然发现一个APK文件,大小高达63M。与手机中其他191个APK应用对比,超过60M的只有这一个应用和谷歌的Chrome应用。其他应用大部分不超过10M,这在一部入门级手机上显然不合常理,值得进一步优化。
将问题反馈给SPM后,定位到这是一款公司自开发的回忆相册应用。SPM要求立即删除该应用,但商务和开发部门不同意。于是,在群里开始了一场公司里的扯蛋秀。
我在群里发表了自己的观点:“这个APK问题的关键还是优化APK大小,60多M肯定是太大了。”这一发言立刻引发了争议。一位高人回复:“里面都是第三方提供的素材,怎么优化,搞笑吧?”
我不甘示弱,立刻百度寻找APK大小优化的方法,并截图搜索结果发送给大家。高人迅速回复:“里面都是必须的素材,删除就不能正常使用,怎么优化?APK大小优化不是只有你知道。”
在此后,我屏蔽了这位高人的信息,表示对这种态度和能力的无奈和无语。优化APK的大小方法有很多,为什么一定要删除必须的素材呢?
经过反馈和争论,我决定自己定位到这款应用并解压APK,深入研究优化方法。经过分析,优化的核心在于优化占用空间的资源。
库文件优化
查看APK的库文件发现,包含两个目录:arm64-v8a和armeabi-v7a。arm64-v8a下的库文件有6M,armeabi-v7a下的库文件有5M。由于项目是32位的,只需要针对对应的平台发布即可,删除不需要的平台库文件可节省6M的APK大小。图片资源优化
在res目录下发现了多套分辨率的图片资源(如hdpi、mdpi、xhdpi、xxhdpi),这几套分辨率的图片都被包含在APK中,占用了大量空间。根据网上的优化方法,建议只针对需要的分辨率生成对应的资源文件,从而大幅减少APK的大小。参考谷歌GMS包中的Duo应用的构建方法,可以总结为以下几点:
通过这种方式,谷歌的APK优化方法简洁而高效,能够将APK的大小大幅降低。
转载地址:http://mfuf.baihongyu.com/