老菜鸟的一样次等app瘦身计划。

里头富含

年根儿,项目新本子开发了上线了。暂时没什么开发任务。在考虑做点出中来不及注意的事务的下,组长为个任务:

图片 1

任务

于3个月前,项目app大小是10M,开发了2单本子后,突然增大至20M.这增长速度当然引起了至于部门的专注。。。正好趁此机会,实践一下尚无认真为了之app瘦身计划。顺手说生。老菜鸟叔单月无打dota了。4年来,唯一一次等坚持到100龙的平不成

     
 下面我以写一多样内容,来显示一个及格的砖家所急需学会的技术,如果大家还能够操纵运用并能坚持不懈深深去打听代码原理的话,那么你去大神将是一个小拇指的离,当然我水平有限,也是由此平时干活亟待和网上大神分享的素材进行整的,我吗只有是千篇一律誉为砖家,有尴尬的地方,欢迎大家指正吐槽,一起上进步以及宏观,我们的口号就是是“快速搬砖,愉快玩耍”。

老菜鸟老矣,告别了dota手速就下来了。这些事忙活了平下午。终于干了了,看下效果:

图片 2

效果

尚不易吧。。。这篇就是形容了减少图片与去无用资源。瘦身是只持久的生存,未完待续。

1、BaseAdapter

卷入好的AbListView、RecycleView的通用adaper,大大减少代码输出,代码清晰可读,大大提高你的写代码速度,据说别人写2钟头,你写半时外加2把dota。

2、cache

缓存工具类,磁盘缓存。

3、utils

各种常用工具类集合,开发品种之时节一直调用,很爽朗。主要出图表加载、HTTP工具类,Dialog工具、Toast工具、状态栏工具、时间更换工具、字符串处理、JSON解析、图片处理、Log输出、APP信息相当各种工具,可以自动丰富。

4、常用之自定义view封装。

依多状态界面、底部弹出框、seekbar,圆形ImageView、pickView、上传图片控件等等,也是机关丰富。

开刀。
  • res文件臃肿,不外乎2独由。资源多,资源文件充分。资源多之缘由产生,无用的资源,合作开发引起的各自命名同一文件,没有复用,简单的背景图之类的莫因此shape。
    1 使用lint检查无效资源。

图片 3

lint1

图片 4

lint2

OK之后 Studio会自动分析,然后可以根据结果清除无用的资源文件。
Note:
新三正在库的文书要小心。我不怕是剔除了享受要为此底图形,结果弹来分享面板的上是白板。。。
2 使用lint删除无效代码。

图片 5

lin3

自我批评结果如下

图片 6

检查结果

得视,这代码没引用,删除。这是单没趣的体力在。

3 压缩大的图纸
老菜鸟对比了一晃2个主流的减平台。tinypng和pngquant,发现tinypng压缩比例及法力还好。但是不付钱每次只能削减20摆放。没有免费的午餐。只能一差20摆设之缩减一全勤png图片。
4 转换为webp
WebP是谷歌研发出来的一模一样栽图片数格式,它是如出一辙种植支持有损压缩和无损压缩的图纸文件格式,派生自图像编码格式
VP8。根据 Google 的测试,无损压缩后底 WebP 比 PNG 文件少了 45%
的文件大小,即使这些 PNG 文件通过任何压缩工具压缩后,WebP 还是得以减
28% 的文件大小。目前众号一度将webP技术使到Android
APP中,比如FaceBook、腾讯、淘宝。webP相比叫png最显眼的题材是加载稍慢,不过本之智能设备硬件配置更是大,这都未是事儿。下载isparta,转化图片

协调收拾的lib

倘若瘦身,首先分析为什么瘦身和怎么才方可瘦身:

APK瘦身严格来讲不算是对运性的优化,应该算是对先后体验的优化。APK瘦身之价要出几乎接触:

  • 望流量:特别是在4G网络下,更多之移位流量表示需要花费还多的钱(别期待着用户一个月份1、2G底流量专门让你挤出几十M来用于下载安装包);
  • 让用户一个好印象,试想用户在安你的次序要大丰富之日子常,不仅会影响及他的心思,更是以荒废他的人命;
  • 只要您的APK是预置到设备受到,更可怜的APK表示需占用更多之仓储空间,也会见多烧录的日。
    那么怎么瘦身为?我们而下手懂apk里究竟出啊。
    把apk拉进android studio。

图片 7

app-瘦身前

有19.7M。好可怜,详细分析:

  • res:目录存放资源文件。76.8%之比例。肯定要开刀。
  • classes.dex
    在Android系统面临,dex文件是可以一直以Dalvik虚拟机中加载运行的文件。通过ADT,经过复杂的编译,可以将java源代码转换为dex文
    件。比重为无聊。也只要下刀。
  • META-INF目录:META-INF目录下存放的是签约信,用来保证apk包的完整性和体系的安。
  • assets:也存资源文件,我们加大起书,js。
  • resources.arsc:编译后底二进制资源文件。

图片 8

lib是你平常工作或者学习之时段不断完善升级之库,个人精力有限的时候,我们可以协同自己之团体,一起保护一个仓房,让咱先睹为快的搬砖。

下介绍一个本身欢喜的模式,也克简化我们的开发,提升效率。打造自己的base基类。

图片 9

基类

基类作用,大家都亮的,我这样封装好了Activity,ListActivity,Fragment,ListFragment的基类,开发进程中展开相应的合龙即可,帮助我们捋顺层次,易于维护,简化代码。下面展示一个BaseActivity基类,供大家参考。


图片 10

图片 11

图片 12

得根据自己之需求,进行打造好之Base类,帮你的代码进行分,还可打包一些常用之道,用到的时候一直进行调用,这样搬砖速度还提升。

此虽是描述下我们简化封装代码的有思路,后续要因自己之开发需要,进行制造和宏观,lib库越用更顺手,你才会省支出时间,提高效率,拥有更多之流年错开干别的业务,比如上学,比如打dota。后续我会把自包好之源码上传,后面也还有一样多级的砖家技能进行描述,致力为记录以及征集大家以出被得能因此到的艺,当我们一起看罢马上系列文章的时候,说不定,你不怕还牛逼了邪?喜欢的语进行关注!谢谢

这般,一开型,就拿您的lib用上,已经成功了一半了,据不可靠预测,你的搬砖速度提升60%上述,哈哈。

     
 作为同叫单兵作战的Android搬砖老驾驶员,一定需具备一个投机总结暨综采之代码库,这样搬起砖来,必定事倍功半,拥有再多之日子错开玩。什么MVP、MVVM之类的架,也错过研究了同一犯,虽然不用,但为得上下,相比叫MVC来说,MVP模式之逻辑层次确实比清晰,大大减少了Activity的代码量,而且便于维护与组织协作开发,每个人承担一个模块就执行了,缺点就是大抵矣成千上万接近,哈哈,作为一个单打独斗的砖家,个人觉得无是未要MVP,MVVM,我或者喜欢自己的代码风格,适合就推行。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website