android 安装包过大,如何给我们的应用“减肥”?

举报
再见孙悟空_ 发表于 2022/01/13 00:20:29 2022/01/13
【摘要】 随着项目越做越大,时间跨度越久,项目堆积的也越来越大,这导致apk的体积也是越来越大,影响推广运营及用户下载体验。所以我们要定期对apk进行“减肥”,话不多说,看看我们应该怎么做!   1.apk体积过大的原因 有些apk现在动辄几十上百兆,那么是什么导致了apk这么大呢?我分析了一些,大概列出以下几点原因: 1)图片...

随着项目越做越大,时间跨度越久,项目堆积的也越来越大,这导致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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。