Android性能优化----UI流畅度优化

 我来答
柚鸥ASO 2024-03-16
展开全部
「柚鸥ASO」在ASO这块就做的蛮不错的,一直专注于应用商店优化,因为专注所以专业;专注应用商店下载量优化、评分优化、关键词排名优化、关键词覆盖、产品权重提升等等整体方案优化服务柚鸥网络-全球ASO优化服务商专注ASO优化已11年!(效果说话不到效果不收费)【基础优化】协助客户针对app情况在各大应用商店进行标题,副标题,关键词,描述等优化。【进阶优化】给app进行下载增量,提升关键词的覆盖数,进行评分优化,增加产品的品牌形象。【高阶优化】针对核心有效的关键词进行排名优化提升,从而获取最精准的用户。
户如乐9318
2022-06-14 · TA获得超过6671个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:141万
展开全部
归纳如下:

说到UI流畅度首先要知道为什么不流畅,在这之前要明白一个概念:60fps VS 16ms

所谓的60fps VS 16msGoogle是官方出品的Android性能优化典范说的-------60帧每秒是目前最合适的图像显示速度,事实上绝大多数的Android设备也是按照每秒60帧来刷新的。为了让屏幕的刷新帧率达到60fps,我们需要确保在时间16ms(1000/60Hz)内完成单次刷新的操作(包括measure、layout以及draw),这也是Android系统每隔16ms就会发出一次VSYNC信号触发对UI进行渲染的原因。也就是说这个过程只要在16s内完成,就可以展示出流畅的画面.

那么问题来了导致卡顿的原因有哪些呢?

    1. 过于复杂的布局,比如RelativeLayout、LinearLayout的多层套嵌,CPU负责UI布局元素的Measure, Layout, Draw等相关运算执行并绘制在屏幕上,如果布局层次太深(因为在view的绘制流程中测量时是以深度为优先级递归每个view所以层级套嵌越多,就会越慢),会导致CPU运算过于复杂,运算时长就可能大于16s,就会导致卡顿

    2. 过度绘制,比如套嵌的布局还是用相同的背景,这样就会导致一个像素在屏幕上被多次绘制,CPU的绘制时间过长也会卡顿

    3 .onDraw中多次创建对象,这样就会导致频繁的GC,会出现内存抖动,触发更多的GC,导致内存不足也会造成卡顿

    4. UI线程的复杂运算,在主线程中有复杂的运算会占用时间,最终导致ANR

    5 .listview

优化方案:

1.减少布局的套嵌层数,简单布局尽量使用线性布局Linearlayout,因为RelativeLayout会测量两次,相对复杂的布局可以使用约束布局ConstraintLayout(本人很喜欢使用这个布局,相信你也会喜欢的),约束布局简直是为去除嵌套量身定做的,合理使用merge和viewStub标签以及include标签

2. 删除重复的背景色或者背景图

3.自定义view中的onDraw中不要创建过多对象以及耗时操作

4.listview替换为recycleView
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柚鸥ASO
2024-03-16 广告
安卓ASO优化原理是通过优化APP名称、图标、描述、覆盖关键词、评论等多个维度,提升APP在应用商店中的榜单排名和搜索排名,从而增加APP的曝光量和下载量。影响ASO的因素包括关键词、应用名称、图标、应用截图及预览视频、描述、下载量、用户留... 点击进入详情页
本回答由柚鸥ASO提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式