博客
关于我
android开发笔记之APK大小优化
阅读量:128 次
发布时间:2019-02-26

本文共 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优化方法简洁而高效,能够将APK的大小大幅降低。

    参考资源

  • Android APK大小优化之自我实践
  • Android产品研发(四)–>减小APK大小
  • 转载地址:http://mfuf.baihongyu.com/

    你可能感兴趣的文章
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>
    python列表
    查看>>
    python列出当前目录、子目录和文件的脚本
    查看>>
    python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
    查看>>
    Python切片对象和__getitem__
    查看>>
    python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体育赛事系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体育运动会比赛系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校危化品管理系统(程序+开题+论文)
    查看>>