APK瘦身

简介: APK瘦身主要从一下三方面来瘦身:1. Java 源代码1) ,这方面主要是通过最简洁的代码实现最直接的功能,还有就是提出上线前不必要的java代码,可以使用UCDector进行分析,从而对代码进行清理。

APK瘦身

主要从一下三方面来瘦身:

1. Java 源代码
1) ,这方面主要是通过最简洁的代码实现最直接的功能,还有就是提出上线前不必要的java代码,可以使用UCDector进行分析,从而对代码进行清理。

2) ,使用混淆器Proguard:
混淆器是在编译时对你的代码进行混淆、优化、压缩的强有力工具。它能够减少Apk大小的主要特性是tree-shaking,它会遍历你所有的代码路径,检测出那些没用的代码片段,所有这些多余的代码片段,都会从最终的APK文件中被剔除。混淆器同时也会对你的文件、类、接口进行重命名,保证代码尽可能的轻量级。

2. 资源文件(resources/assets)
1) ,适合的resources
只支持 hdpi, xhdpi ,xxhdpi:
它涵盖了80%的用户;
其次,xxxhdpi是为了适应未来而存在的,而不是现在;
最后,我根本不关心糟糕的低分辨率的设备。
2) ,最小化resources配置
依赖的第三方库文件自带一些对你的应用毫无用处的资源;从 Android Gradle Plugin 0.7开始,通过resConfig 和 resConfigs以及默认的配置选项,你可修改构建系统的配置信息。DSL阻止打包工具打包那些不符合app的资源配置

    1 defaultConfig {
    2   // ...
    3   resConfigs "en", "de", "fr", "it"
    4   resConfigs "nodpi", "hdpi", "xhdpi", "xxhdpi", "xxxhdpi"
    5 }

3) ,压缩图像
打包工具自带图片无损压缩算法,例如,一张不超过256色的真彩色的PNG图片可能会通过调色板被转换成8位的PNG。这可能减少你的资源的大小。在Google上可以搜索到一些PNG压缩处理的工具,比如pngquant, ImageAlpha 和 ImageOptim。当然也可以通过在线的压缩网站将美工的切图进行压缩(https://tinypng.com);此处有个批量进行图片压缩的工具(http://blog.csdn.net/visualcatsharp/article/details/17137405)。

另外,Android平台上一种特有的图片格式.9,也可以节约空间。

4) ,尽可能多的复用
在手机上开发应用,可能最重要的就是学会“复用”了。在ListView或RecyclerView中,“复用”使得滚动过程很流畅。同时“复用”也能够帮助你减少APK文件的大小。例如,在新的Android L版本中使用android:tint以及android:tintMode,或者使用适用于所有版本的ColorFilter,能够为assets重新配色。

参考:http://greenrobot.me/devpost/putting-your-apks-on-diet/,但是也添加了自己的理解和想法

相关文章
|
SQL 人工智能 算法
Android性能优化之应用瘦身(APK瘦身)
Android性能优化之应用瘦身(APK瘦身)
|
Java 测试技术 Android开发
|
Android开发 Java 数据格式
通过Gradle为APK瘦身
在过去几年中,APK 文件的大小曾急剧增长态势。一般来说,其原因如下:Android 开发者获取了更多的依赖库,添加了更多的密度,Apps 增加了更多的功能。但实际上我们应该让APKs 尽可能的小,更小的APK 意味着用户可以更快地下载和安装应用,并使它占用更小的内存。
1859 0
|
7月前
|
Android开发 开发者
Android Split APK介绍
【2月更文挑战第5天】
|
数据安全/隐私保护 Android开发
Android bundetool 转换 .aab 为apk 步骤
Android bundetool 转换 .aab 为apk 步骤
598 0
Android bundetool 转换 .aab 为apk 步骤
|
6月前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
334 0
|
7月前
|
XML API Android开发
android S 上 安装apk出现android.os.FileUriExposedException
android S 上 安装apk出现android.os.FileUriExposedException
80 6
|
7月前
|
设计模式 缓存 Java
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试