项目开发迭代的时间越久遇到的问题就越多,我们现在项目就面临着这个问题,这样就能越来越体现出最初搭建架构的好坏了,重构一个项目也是很麻烦的,如果最开始没有做好后期重构的打算,代码一锅粥,模块纠结不清,牵一发动全身,那这个项目重构起来不亚于新作一个,当前市面流行的组件化、插件化开发,就一定程度解决这个问题,拆分模块,减少模块之间的耦合度,后期可以一个模块一个模块的重构
我现在项目遇到的问题,我将随着重构项目,然后写这篇博客,方便以后自己构架一个项目的时候注意的地方
一、apk瘦身
我们公司现在的项目都达到了100M,功能虽然多了点,也杂了点,但是我感觉还不至于要这么大,随着慢慢的掌握这个项目,发现了一些问题,让我也思考了一些东西,Android studio提供了很多分析工具,我们可以通过这些工具进行分析我们的apk,想analyze apk分析apk各个部分占用大小
apk说到底,无非也是一种压缩格式,压缩包里面包含的几个部分如下图
![](https://img.haomeiwen.com/i5876886/653722336c267b54.png)
代码部分已经被编译成dex,剩下的基本是一些资源文件,但是就是这些资源文件占据的就很大,尤其是图片和声音、视频等资源,我的项目目前就占了我当前项目的百分之六十,我就先从这些资源下手
1、图片资源
随着项目不断变更,功能迭代,我们总是会来不及删除一些没用的图片,清理没用的图片,再就是有些图片过大,有的地方没必要放那么大的图片,要注意尺寸,适配要有度,要有好的适配方案,再就是有些图片我们完全没必要放到apk中,我们可以在用户打开软件是去下载资源文件,还有就是那种多功能的资源,把用户手机的尺寸和长宽比给服务器下载相应资源,这样也能很好的做好适配,我们就要编一个资源版本号,这样我们可以随时替换一些资源文件,当然我们要写个功能木块专门管理这些资源,像升级、替换、加载等分装起来,还有些资源随时用随时加载就可以,现在的第三方图片加载框架都有三级缓存等一些优化处理,没必要放到apk安装包中,同样这样也灵活一些,所以我们在搭建项目和添加功能模块的时候多考虑一下
网友评论