Android技术知识Android开发Android开发经验谈

用这三个方法手把手带你了解何为 Android 性能优化?

2022-09-15  本文已影响0人  程序老秃子

Android 性能优化的三个方法

布局优化

布局优化的思想很简单,就是尽量减少布局文件的层级,布局中的层级少了,这就意味着 Android 绘制时的工作量少了,那么程序的性能自然就高了

那么如何进行布局优化呢?有以下两点:

Android 布局优化常用方法

布局的优化其实说白了就是减少层级,越简单越好,减少 overdraw,就能更好的突出性能

下面介绍几种布局优化的方式:

首先是善用相对布局 Relativelayout

这一点可以从我们 MainActivity 默认布局就可以看出,默认是 RelativeLayout,因为可以通过扁平的 RelativeLayout 降低 LinearLayout 嵌套所产生布局树的层级

一般情况下用 LinearLayout 的时候总会比 RelativeLayout 多一个 View 的层级;而每次往应用里面增加一个View,或者增加一个布局管理器的时候,都会增加运行时对系统的消耗,因此这样就会导致界面初始化、布局、绘制的过程变慢

绘制优化

绘制优化是指 View 的 onDraw 方法要避免执行大量的操作,主要体现在两个方面:

绘制原理

Android 的显示过程可以简单概括为:应用层把经过测量,布局,绘制后的 surface 缓存数据,通过 SurfaceFlinger 把数据显示到屏幕上;应用层负责绘制,系统层负责渲染,通过进程间通信把应用层需要绘制的数据传递到系统层

应用层:
系统层:

绘制过程是 CPU 准备数据,通过 Driver 层把数据交给 CPU 渲染;其中 CPU 主要负责 Measure,Layout,Record,Execute 的数据计算工作,GPU 负责 Rasterization (栅格化)渲染

CPU 和
GPU 通信是通过图形驱动层(Graphics Driver)来连接两部分;图形驱动维护了一个队列 CPU 把 display list 添加到队列中,GPU 从这个队列中取出数据进行绘制,最终显示出来

内存优化

内存简介:

RAM(random access memory)随机存取存储器;说白了就是内存

一般 Java 在内存分配时会涉及到以下区域:

内存泄露在开发过程中是一个需要重视的问题,内存优化分为两个方面一方面是在开发过程中避免写出有内存泄露的代码,另一方面是通过一些分析工具比如MAT来找出潜在的内存泄露继而解决

内存的优化:

内存优化分为 内存泄漏的优化BitMap 的优化,ListView的优化,和线程优化

解决方法:把咱写的 App 中的 Activity 上下文,在 OnPuse()方法里面将其致 null 即可

解决办法:解决方法就是在 onDestory 或动画结束监听中调用 animator.cancle()

资源对象没有手动关闭或处理,资源性对象(BraodcastReceiver,ContentObserver,File,Cursor,Stream,Bitmap)导致的内存泄漏

今天有关于 Android 的性能优化的相关内容就介绍到这里了,有需要了解更多关于 Android 性能优化相关资讯;可以简信发送 "性能" ,即可获取一份 Android 性能优化学习手册,以便大家能够更好的学习 性能优化

内容展示如下:

崩溃优化
完整版Android 性能优化学习手册文档 获取方式:简信发送 “性能” 即可 直达获取
网络优化
储存优化

有需要完整版 Android 性能优化学习手册 文档的朋友,可以简信发送 “性能” 即可 直达获取

对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们

技术是无止境的,你需要对自己提交的每一行代码、使用的每一个工具负责,不断挖掘其底层原理,才能使自己的技术升华到更高的层面

最后祝各位开发者早日精通性能优化 ,攀登上更高的高峰

上一篇下一篇

猜你喜欢

热点阅读