为你的App瘦身,优化你的App
来源:互联网 发布:四轴加工中心编程例子 编辑:程序博客网 时间:2024/04/28 05:18
废话不多说,直奔主题
问题:为什么要给我们的apk瘦身?
1、安装包比较大。废话!如果是走公司的流量,恨不得你的apk小到几kb在不失功能情况下。流量就是money。
2、期望能通过瘦身,降低APK的体积,显得体积小,功能强!
可能优化的点在哪?
首先要仔细思考:
1、减少切片,大图,及背景图
2、图片压缩,采用.9图片。
3、采用压缩率更高的webp图片格式,代替当前的png格式
4、清理不需要的布局文件,XML格式资源文件,图片资源
5、删除一些用户量极少,“无意义”的功能
6、检查第三方包,把不需要的组件、图片之类的删除或替换
7、降低so库的体积
8、把部分页面做成H5,客户端删除这部分功能
9、自查代码,尤其是逻辑相似的部分,抽出去来,删除冗余代码
10、降低插件体积,采用增量更新
先放图,看看我的瘦身之后的效果:
来看一下,如何具体实现
1、lint使用
采用lint工具,删除了大量无用的资源。有一定作用。Android studio集成了lint工具,检测“unused resoure“及unused declaration等。这里我们使用lint检测了无用的资源文件。
另我的量一篇文章有介绍2、其他团队so库的体积减少,作用明显著,尤其类似于百度地图,直播软件
3、代码冗余部分:效果非常有限,你再减少也少不了几kb
4、使用图片压缩工具,有一定作用
Google推荐图片压缩工具:https://developers.google.com/speed/docs/insights/OptimizeImages,市面上有许多工具可用来对JPEG和PNG文件执行进一步的无损压缩,且不会对图片质量造成任何影响。对于JPEG文件,我们建议您使用jpegtran或jpegoptim(仅适用于Linux;使用–strip-all选项运行)。对于PNG文件,我们建议使用OptiPNG或PNGOUT。5、H5页面,作用明显,而且H5适配非常简单啊
6、支持插件so,插件支持网络加载so及更新原则,作用明显
7、代码混淆,jar包资源混淆
8、TinyPng压缩图片 点我进入网站测试
TinyPng能够在视觉上几乎不
影响图片的情况下显著压缩图片体积。
从图中可以看到,压缩3次以后基本上体积就很难再减少了,压缩5次以后体积基本上就不变了,值得高兴的是,即使不停的压缩,图片依然不会太失真(但这是有损压缩,有时候alpha通道会给你压缩没了)。如下,压缩5次后的对比图:
TinyPng好用的地方:
1、图片压缩后对视觉影响不大,但体积显著减小
2、可以批量压缩
3、压缩后文件名与原文件名相同,可以直接替换,尤其是批量压缩的时候
4、可以反复压缩5-6次,而不用担心太失真,肯定会失真啦,不影响视觉效果
5、简单有效,还不要钱
附压缩了三次之后的图片,真心强悍,肉眼无差别:
- 为你的App瘦身,优化你的App
- 为你的ASA瘦身
- 为你的讲话瘦身
- 使用instruments来优化你的app
- 为你的App增加托盘图标
- android:为你的app设置音效
- App优化之提升你的App启动速度
- Android App优化之提升你的App启动速度
- 加速你的app
- 你可能需要为你的 APP 适配 iOS 11
- 你可能需要为你的APP适配iOS11
- 你可能需要为你的APP适配iOS11
- 优化你的APP--Android内存优化(一)
- 优化你的APP--Android内存优化(二)
- Android App 瘦身总结 第一章 图片资源的优化处理
- 关于iOS9的APP瘦身
- Android性能优化系列---管理你的app内存
- 用户体验之如何优化你的APP
- 设计模式学习笔记二(结构型)
- 【Deep Learning学习笔记】Regularization(正则化)
- 说一下反三角函数atan等的角度计算值,弧度制和角度制
- hihoCoder #1050 : 树中的最长路
- 1064. Complete Binary Search Tree (30)
- 为你的App瘦身,优化你的App
- POJ1222-EXTENDED LIGHTS OUT-反转
- DVM和JVM(Dalvik VM和Java VM)的区别
- https,ssl
- Hadoop2.7.3 自带example wordCount摸索记录
- Linux三大共享文件的方法
- iOS开发的知名个人博客及几个网站
- 搭建lamp(CentOS7+Apache+MySQL+PHP)环境
- eclipse 模板注解