Android 性能优化 (一)APK高效瘦身

http://blog.csdn.net/whb20081815/article/details/70140063

Android 性能优化 (二)数据库优化 秒变大神

http://blog.csdn.net/whb20081815/article/details/70142033

Android 性能优化(三)布局优化 秒变大神

http://blog.csdn.net/whb20081815/article/details/70147958

Android 性能优化(四)内存优化OOM 秒变大神

http://blog.csdn.net/whb20081815/article/details/70243105

Android 性能优化(五)ANR 秒变大神

http://blog.csdn.net/whb20081815/article/details/70245594

Android 性能优化(六) RelativeLayout和LinearLayout性能比较

http://blog.csdn.net/whb20081815/article/details/74465870

Android 性能优化<七>自定义view绘制优化

http://blog.csdn.net/whb20081815/article/details/74474736

Android 性能优化<八> 多线程优化和线程管理

https://blog.csdn.net/WHB20081815/article/details/77775444

Android 性能优化 <九>RecyclerView替代Listview用法

https://blog.csdn.net/WHB20081815/article/details/76221998

Android 性能优化 (十) 启动优化 秒变大神 启动优化提升60%

https://blog.csdn.net/WHB20081815/article/details/88595045

众所周知,APP包体的大小,会影响推广的难度,用户不太喜欢下载太大的APP,同类型同等功能的APP中往往是包体小的更受用户的青睐,所以降低包体是一项非常必要的事情!

一. 压缩图片

国外的网址:无损压缩

https://www.tinypng.com/

缺点:上传任何未发布产品的内容到外部网络,都有可能引起数据泄漏,

二.使用Android Lint分析去除无用资源

备注:删除的如果是有用到的,Studio会提示

删除的一些无用的,有时候也会导致问题,xml不报错,编译的时候会报错

1. Analyze - -> Run Inspection by Name  -->  输入 unused resource   之后敲下回车Android Lint就会开始分析项目中哪里存在着无用资源

 

2. 根据Android Lint给出的分析结果,确认资源的使用情况,确认为无用资源后(一般来说全局搜索下资源名,除了在R.Java中外其他地方都没引用就是无用资源)删除即可

三:开启minifyEnabled混淆代码

buildTypes {release {//是否进行混淆minifyEnabled true// 移除无用的resource文件gshrinkResources true//混淆规则文件proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.release}debug {// buildConfigField 自定义配置默认值signingConfig signingConfigs.debugdebuggable true}
}

四:在gradle使用shrinkResources去除无用资源,效果非常好。

buildTypes {release {//是否进行混淆minifyEnabled true// 移除无用的resource文件gshrinkResources true//混淆规则文件proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.release}

五:用极限压缩工具

或者:使用AndResGuard

AndResGuard是微信开源出来的一个打包工具

原理:

1.     资源(png, xml, jpg等)名称混淆,资源路径名称混淆以及名称长度压缩;

2.     原来以STORED形式存储到zip中的png文件被改成了DEFLATED(普通压缩存储)方式;

3.     意外发现resources.arsc, META-INF/*.SF 以及 META-INF/*.MF变小了,而且是解压之后的文件大小也变小了。

六:使用SVG图片格式

用 SVG 的优势在于:

1.SVG 可被非常多的工具读取和修改(比如记事本),由于使用xml格式定义,所以可以直接被当作文本文件打开,看里面的数据;

2.SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强,SVG 图就相当于保存了关键的数据点,比如要显示一个圆,需要知道圆心和半径,那么SVG 就只保存圆心坐标和半径数据,而平常我们用的位图都是以像素点的形式根据图片大小保存对应个数的像素点,因而SVG尺寸更小;

3.SVG 是可伸缩的,平常使用的位图拉伸会发虚,压缩会变形,而SVG格式图片保存数据进行运算展示,不管多大多少,可以不失真显示;

4.SVG 图像可在任何的分辨率下被高质量地打印;

5.SVG 可在图像质量不下降的情况下被放大;

6.SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图);

7.SVG 可以与 Java 技术一起运行;

8.SVG 是开放的标准;

9.SVG 文件是纯粹的 XML;

七:支持插件化

插件化:支持动态的加载代码和动态的加载资源,把APP的一部分分离出来了,对于业务庞大的项目来说非常有用,极大的分解了APP大小。因为插件化技术需要一定的技术保障和服务端系统支持

Android 性能优化 (一)APK高效瘦身相关推荐

  1. Android性能优化之APK瘦身最全总结

    Android性能优化之APK瘦身最全总结 随着业务复杂度的逐渐增加,代码.资源也在不断的增加,此时你的APP大小也在增加.从用户层面来说,面对动辄几十兆的APP来说在非WIFI情况下还是会犹豫要不要 ...

  2. Android性能优化之APK瘦身详解(瘦身73%)

    image 公司项目在不断的改版迭代中,代码在不断的累加,终于apk包不负重负了,已经到了八十多M了.可能要换种方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现的阶段. ...

  3. Android性能优化——使用 APK Analyzer 分析你的 APK

    Android Studio 2.2包含了APK Analyzer,通过它我们能够直观地看到APK的组成.使用APK Analyzer不仅能够减少你花在debug上的时间,而且还能减少你的APK大小. ...

  4. Android性能优化之APK优化,内容太过真实

    开头 今天在浏览技术新闻的时候,发现腾讯就在今天开源了一套 Android 原生的 UI 框架.你们有没有发现,腾讯特别喜欢干这种事,哪一种事呢?喜欢开源 UI 框架,小程序也是这样的. 我看到这个新 ...

  5. Activity 的 36 大难点,你会几个?,Android性能优化之APK优化

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MhPkxLFA-1638250133902)(https://user-gold-cdn.xitu.io/2019/10 ...

  6. Android性能优化之APK优化,附赠课程+题库

    前言 IT行业薪水高,这是众所周知的,所以很多人大学都选择IT相关专业,即使非该专业的人,毕业了也想去一个培训机构镀镀金,进入这一行业. 但是有关这个行业35岁就退休的说法,也一直盛传. 加上这几年不 ...

  7. Android 性能优化(三)布局优化 秒变大神

    Android 性能优化 (一)APK高效瘦身 http://blog.csdn.net/whb20081815/article/details/70140063 Android 性能优化 (二)数据 ...

  8. Android 性能优化(五)ANR 秒变大神

    Android 性能优化 (一)APK高效瘦身 http://blog.csdn.net/whb20081815/article/details/70140063 Android 性能优化 (二)数据 ...

  9. Android 性能优化lt;九 RecyclerView替代Listview用法

    Android 性能优化 (一)APK高效瘦身 http://blog.csdn.net/whb20081815/article/details/70140063 Android 性能优化 (二)数据 ...

最新文章

  1. C++中substr()函数用法详解
  2. python的虚拟环境
  3. 2019 年 Spread.NET 产品路线图(Roadmap)
  4. Bigtable数据模型和架构
  5. Spring Boot 对CORS跨域访问的配置
  6. python入门之运算符的使用的答案_python入门教程之基本算术运算符
  7. Java (jdk win 10)
  8. Windows下Maven 环境配置
  9. Elasticsearch —— bulk批量导入数据
  10. 古老的话题:成本控制
  11. mongodb连接认证失败
  12. python人脸检测与微信小程序_python+requests对app和微信小程序进行接口测试
  13. 年轻人,看看 Redisson 分布式锁—可重入锁吧!太重要了
  14. 西工大计算机学院软件工程专硕,念念不忘,必有回响——西北工业大学软件工程专硕...
  15. Matlab中grid 的使用
  16. PhotoShop 橡皮擦工具组、渐变工具
  17. 没有域名能不能申请企业邮箱?
  18. JXT查询数据库导入到Execl
  19. windows系统下怎么把图片变为ico格式?
  20. 英语单词: entropy;熵

热门文章

  1. 金蝶云苍穹 通用图控件
  2. 迈道科技双重预防系统入选《2021年中国石油和化工企业500强发布会化工科技成果汇编》
  3. 详细的辅助开发教程,从入门到精通
  4. 策略迭代与值迭代的区别
  5. 伦茨小知识-什么是耳机阻抗
  6. 微信公众号 语音转文字api_原来微信不仅能实现语音转文字,还能实现文字转语音!你还不知吗...
  7. 一对一直播源码开发,一对一视频直播解决方案新思路
  8. Onenote插入代码块
  9. php生成云图,教程:用Python生成词云图
  10. 互联网虚拟大脑的结构全景图