大家讲诉了Apk瘦身从哪一方面下手,什么地方非常值得我们去发现问题及其解决困难,这篇文章大家汇总下常规化实际操作,包含grade打包配备。
1、资源文档提升
a、新项目中可挑选对流行的dpi适用,例如大家新项目现阶段挑选xxhdpi做为对比,针对大图片,可以利用互联网载入方法实行。
defaultConfig {
resConfigs \"zh\" //表明只应用汉语
resConfigs \"xxhdpi\" // 表明仅仅用xxhdpi文件目录下的资源文档
}
b、新项目中的图片及其动态图选用webp格式。
c、针对图片制作基本功较为的同学们,可以多选用svg、shape、代码制作、NinePatch格式(.9格式)等形式来取代图片资源。
d、资源中尽可能应用android系统软件自身具有的资源,例如字体样式(确实要用,可到在网上找寻简易版资源)
e、针对大资源选用互联网载入方法,例如短视频、声频、高清大图、gif、json文件等,自然这样的事情要考虑到互联网加载失败的状况,以防业务流程遇阻。
f、在咱们业务流程中,涉及到到了so库,而且这种so库占有率很非常大,我们可以对一部分so库实行动态性载入计划方案。
2、打开minifyEnable
它的功能不仅是搞混代码,也有缩小提升的作用,他会解析xml全部代码并找到沒有引入到的代码,这种代码不容易形成在apk中,搞混的成效是应用简洁的英文字母取代以前的类名特性名等,一定水平上还可以减少代码容积。这时要特别注意针对不应该搞混的要做keep解决,此外针对这些反射面的类要做keep解决。
3、打开shrinkResources作用
shrinkResources标志是不是除去没用的resource文档,它必须相互配合minifyEnable应用,一样存有反射机制引入的问题,这样的事情会被误删除。
android {
buildTypes {
release {
minifyEnable true
shrinkResources true
}
}
}
4、libs文件目录瘦身
so文件最后会被打包到libs文件目录中,大家对于libs文件目录的瘦身主要是除去多余的服务平台ABI的so文件,针对不重要的so库可参照上边1计划方案中的f条。
defaultConfig {
ndk {
abiFilters “armeabi-v7a”, “arm64-v8a”
}
}
5、谨慎挑选第三方库
一些第三方库他的功用很分辨,考虑到问题很全方位,有一些开源框架他会依据作用不一样给予了精简,有一些会按照不一样的网站给予了精简,也有依据不一样的cpu架构给予了不一样的精简,我们要依据的需要选用差异的版本号。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。