APK 瘦身

本文介绍了多种有效的方法来减小Android应用程序的体积,包括避免重复资源、启用代码混淆、移除未使用的资源、压缩图片资源、使用合适的图片格式、利用第三方工具进行资源管理和优化等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先避免重复的库和资源,在实现功能的前提下采用更小的库等

  • 开启minifyEnabled混淆代码,很难发现错误,一定要经过严格测试。

    android { buildTypes { release { minifyEnabled true } } }
    
  • 开启shrinkResources去除无用资源

    android { buildTypes { release { shrinkResources true } } }
    
  • 若暂不考虑国际化,可配置只支持的语言,删除无用的语言资源

    android { defaultConfig { resConfigs "zh" } }
    

图片资源压缩,减少页面载入时间,节省用户的流量

  • 尽量使用一套资源,对于严重影响UI的可单独适配个别资源

  • 使用tinypng压缩,很多图片完全可以适当的缩小而对视觉影响是极小的。

  • 将比较大的png转成jpg,如果对于非透明的大图,jpg将会比png的大小有显著的优势,通常会减小50%+。

  • 适当将图片转成WebP格式

    • Android 4.0+开始原生支持,但是不支持包含透明度,直到Android 4.2.1+才支持显示含透明度,Android 4.0 以下需要WebP 解析库来支持,iOS WebP 解析库

    • 命令行处理WebP

      • Linux安装 WebP 工具:

        sudo apt-get install webp

      • 语法

        将 JPG 或 PNG 转换为 WEBP:cwebp [-q 图像质量] [JPEG/PNG文件名] -o [WebP文件名]

        将 WEBP 图片转换成 PNG:dwebp [WebP文件名] -o [PNG文件名]

        其他的查文档

      • 批量转换的脚本

    • 图形化处理WebP — XnConvert

      sudo dpkg -i XnConvert-linux-x64.deb

    • 查看WebP图像 — gThumb

      sudo apt-get install gthumb

  • 覆盖第三库里的大图,考虑用1×1的透明图替换第三方库中没有用到的图

  • 尽量使用代码实现去代替对应的图片

    • 用shape 代替纯色或渐变的图片
    • 在selector文件,很多相似的图片只是颜色不同,通过android support库我们能减少这样的文件。参考代码

使用微信资源压缩打包工具

插件化与Hybrid, 优化一些安装包加载多模块,主题切换,热修复的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值