性能优化06_渲染机制

本文深入探讨了Android性能优化的核心内容,包括理解渲染刷新机制、VSYNC的作用、GPU刷新过程,以及如何避免卡顿和过度绘制。通过分析,提供了一系列优化策略,如减少主线程负担、优化自定义View和使用HierarchyViewer定位问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android性能优化汇总

一、了解渲染刷新机制

VSYNC(垂直刷新/绘制)
手机刷新屏幕的理想频率是60HZ,60fps—一秒内绘制的帧数。在60fps内,如果系统得到发送的VSYNC(垂直刷新)信号去进行渲染,就会正常地绘制。

VSYNC:有两个概念
1)Refresh Rate: 屏幕在一秒时间内刷新屏幕的次数----有硬件的参数决定,比如60HZ.
2)Frame Rate: GPU在一秒内绘制操作的帧数,比如:60fps。

GPU刷新:GPU帮助我们将UI组件等计算成纹理Texture和三维图形Polygons,同时会使用OpenGL—会将纹理和Polygons缓存在GPU内存里面。

Android系统每隔16ms(1s/60)就重新绘制一次Activity,因此应用必须在16ms内完成屏幕刷新的全部逻辑操作,否则会出现丢帧的情况。

Android系统的渲染管线分为两个关键组件:CPU和GPU
在这里插入图片描述
格栅化: 就是将例如字符串、按钮、路径或者形状的一些高级对象,拆分到不同的像素上在屏幕上进行显示

二卡顿是如何造成的

卡顿表示主线程受到了阻塞,原因有以下两种:

1.外部引起的
比如:Activity里面直接进行网络访问/大文件的IO操作

这方面,内存要注意的问题

1)内存抖动的问题。(内存)

new Object
obj = null

2)一个方法太耗时了。(时间)

2.View本身的卡顿

自定义View要注意的,能否优化

  • 可以使用Allocation Tracing来定位大致的情况
  • 可以使用TraceView来确定详细的问题所在。

三 如何优化:

渲染性能的优化就是尽可能快地上传数据到GPU,然后尽可能长地在不修改的情况下保存数据,因为每次上传资源到GPU时,我们都会浪费宝贵的处理时间

1.渲染性能的优化

性能优化08_内存抖动和计算性能优化

2.防止过度绘制

性能优化09_布局优化及Hierarchy Viewer使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值