IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 界面优化,APP性能优化,APK包压缩,如何减少安装包体积 -> 正文阅读

[移动开发]Android 界面优化,APP性能优化,APK包压缩,如何减少安装包体积

关于APP性能优化的文章比比皆是,但是大多都是规规整整的用专业术语去描述,去介绍各种情况,反正我是记不住,不忘初心,这篇文章就用我自己在实战过程中如何去优化做一个记录。

1.场景:为啥感觉安装包越来越大了啊,能不能减少个几M呢?

答:你这个APP本来就复杂,用得到代码和图标更不计其数,还在乎那几M的大小?真是***。
 
 实际:去代码中想方设法去删掉用不到的文件,代码就不建议去删了,除非删一半,要不然根本没有太大效果,还容易使稳定的项目出错,恶心心,这里建议去删一些没有用到的图片或者将图片换成体积小一点的,因为图片多大,打出的包就会多出多大。
 
 怎么去找出不用图片或者很大的图片呢?AndroidStudio 提供了一个工具 -
 Build - Analyze APK ,把你打好的安装包选中,就会出现安装包的内存情况和占内存比例的文件。
在这里插入图片描述
打开之后就会显示各个文件占地比例和内存,其他的就别删了,除非你很有把握,就删一些没有用到的占内存比较大的图片,或者找UI给你换小一点内存的图片,这样图片少多少内存,APK安装包直接少多少内存,非常漂亮!
 在这里插入图片描述
接下来就是如何进行性能优化了。

问: 线上版本多种多样,有个客户的机型老是动不动就程序无响应,也没有捕获到相关的日志,咋办回事呢?

答:就个别机型出现这个问题,还是偶发性的,我这边都没有复现,还处理啥啊,万一处理不好还可能加大线上bug率,真是***。

实际:去考虑为什么会出现这种原因,出现这种原因的可能性,目前没有任何有用的信息,但是该APP搞了一个事件埋点,通过埋点发现在某个界面时才会出现这种现象,并且该界面里有定时刷新,嘶,就它了。

一开始怀疑是内存泄漏,泄的不厉害,导致APP没有闪退而是无响应,首先使用 LeakCanary 来检测一下APP的泄漏问题,关于 LeakCanary 不在此文章介绍了,自行百度,或者 - 传送门,加上之后,嘶,无响应必现了! 通过日志去给泄漏的地方加一些措施,但是效果不大,还是会出现。

除了APP本身,无非就是手机本身硬件问题了,通过leak日志筛选 error 发现每次复现会有 CPU 负载这个错误-新方向!!!

在手机开发者选项中有 GPU 过度绘制这个选项,打开之后进入相应的界面就会显示该节目的绘制情况。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过上图可以直观的看出界面情况,去对应的的界面去减少相关的绘制,尽量让该界面绘制层级低,比如减少一些不必要的 setBackground()、setBackgroundColor()…等等 ,去QQ等应用去看,他们的层级都很低,当然很多都采用 H5 界面了,所以只有一级,嘤嘤嘤。

当然开发者工具不可能就只给这一个,还有个 GPU 呈现模式分析。

在这里插入图片描述
在这里插入图片描述
这样也会很直观的显示当前界面的GPU使用情况 如何去解决呢,如果你发现这个界面黄色太高了,说明GPU此时太忙了,要减少一下GPU压力,比如把一些不必要的放到子线程里去,还要尽可能把这些线条条控制在圈中绿线线以内。

以上情况要是都优化完美的话,你的APP可能会从兰博比尼基的速度直接变成兰博基尼的速度,嗷嗷的好用。

至此 内存优化,界面优化,性能优化,在开发过程中具体可以通过以上方式进行开发。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 21:56:51  更:2022-03-13 21:58:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 17:37:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码