android 安装包过大,如何给我们的应用“减肥”?
随着项目越做越大,时间跨度越久,项目堆积的也越来越大,这导致apk的体积也是越来越大,影响推广运营及用户下载体验。所以我们要定期对apk进行“减肥”,话不多说,看看我们应该怎么做!
1.apk体积过大的原因
有些apk现在动辄几十上百兆,那么是什么导致了apk这么大呢?我分析了一些,大概列出以下几点原因:
1)图片资源
2)本地数据库文件db资源
3)jar包及依赖 so库等
4)代码资源
这其中影响最大的是前三个 图片,db数据库,jar包及so库,长时间的项目开发,导致项目肯定会出现很多无用的图片,jar包 so库等,根本原因就是开发的小伙伴们换了一批又一批,没有整体的项目管理规范等。
2.分析apk
如何查看apk中到底是哪些资源占用了较大的看空间呢?如果还在用eclipse开发的小伙伴只能自己反编译然后排序查看了
如果用android studio的小伙伴就很简单了,点击Build ->Analyze Apk... 可以很直观的分析出到底是哪些资源占用空间较大,及各自所占比例,很直观,如下图:
3.如何瘦身
那么我们分析完之后,到底从哪些方面着手去做呢?我是分析了以下几点
1)删掉所有重复及无用的图片
2)将项目中所有比较大的图尽量处理一下 换成小一点的图
3)将项目中所有的无效代码及引用删除
4)删掉所有无效的依赖和重复功能的依赖以及无效的so文件
5)如果没有极其特殊业务需要不要在本地放db文件,即使需要可以改为 第一次安装下载数据库文件
4.预防肥胖
其实真正在做开发的时候,如果多注意一些,是不会让apk体积越来越肥胖的,即使肥胖也是可以控制肥胖的速度的,如果一个项目过于肥胖绝对是开发人员的锅,那么我们到底怎么预防肥胖呢?
1)添加图片谨慎,添加前一定要确认一下图的大小,我们项目 有一个小红点的icon,7.6M,我看了一下历史15年提交的,这不知道咋想的
2)除了图片大小需要注意,还有就是能用xml自己实现的背景效果,不用用切图。
3)添加jar包需要注意 重复功能的jar包只保留一个 比如图片加载 之前有个项目 picasso glide都有 这完全没有必要的。
4)三方的依赖也是占apk大小的 ,所以在项目开发中谨慎添加。
5) 引用三方sdk的时候,一般都有提供demo,这个demo有些小伙伴就是原模原样的拷贝过来了,很多不用的图片jar包等都没有自己处理,这个时候最容易产生冗余不必要的东西,需要注意。
6)保持良好的编码习惯,尽量让代码简洁,有些同学做了功能,后来改版做新的了,旧的舍不得删,怕以后改回去,就将代码改为 xxx_old.java ...,再加上关联的xml,图片资源等 都不删除,久而久之,这样的代码特别多。实在没有必要...
由于时间关系,今天先写这些,如果大家还有其他问题,欢迎加入我的qq群讨论:
开发一群:454430053开发二群:537532956
文章来源: wukong.blog.csdn.net,作者:再见孙悟空_,版权归原作者所有,如需转载,请联系作者。
原文链接:wukong.blog.csdn.net/article/details/79083399
- 点赞
- 收藏
- 关注作者
评论(0)