UI卡顿

作者: 仲达_dc6c | 来源:发表于2019-04-19 13:59 被阅读0次

UI卡顿原理

60fps->16ms程序的大部分操作要在16ms内完成,listview 的item层叠了太多,有复杂动画导致。每一次虚拟机在GC的时候所有的线程也会停止。

Overdraw过渡绘制,多层次ui结构,某些像素区域被绘制很多次。GPU蓝 绿 红色 减少红色。多次层叠的view的background。

原因分析

1.人为在UI线程做了轻微耗时操作,导致UI卡顿。没有引起ANR。

2.布局Layout过于复杂,无法再16ms内渲染,背景布局不能重叠。

3.同一时间动画执行次数过多,导致cpu gpu负载过渡。

4.View频繁绘制导致measure layout,耗时累积过多,整个view频繁渲染。

5.内存频繁GC过多,导致暂时阻碍渲染操作。

6.冗余资源和逻辑导致加载和执行缓慢。

7.ANR。

解决办法

1.布局优化, include merge,尽量不存在冗余嵌套,适当的设置gone,invisible,使用item复杂的情况下使用自定义view。

2.列表及adapter,使用convertView。

3.背景和图片内存分配优化,图片缩略等。

4.避免ANR 不要再ui线程做耗时操作。

相关文章

  • 无标题文章

    APP性能优化 UI卡顿优化 View的绘制原理 UI卡顿原理分析 UI卡顿检测分析 BlockCanary原理分...

  • Activity 性能优化方案

    Activity 性能优化方案UI 卡顿原理UI卡顿常见原因优化手段 UI 卡顿原理人类大脑与眼睛对一个画面的连贯...

  • Ui卡顿及内存管理

    UI 卡顿原因分析 1 人为在UI线程中做轻微耗时操作,导致UI线程卡顿。 2 布局Layout 过于复杂,无法在...

  • UI卡顿

    一.UI卡顿原理 60fps->16ms:gc时其他线程都不执行,大量gc会导致卡顿 overdraw 二.UI卡...

  • UI卡顿现象

    UI卡顿原因 人为在UI线程做轻微的耗时操作,导致UI线程卡顿 layout布局过于复杂,无法在16ms完成渲染 ...

  • UI卡顿

    1、原理60fps -> 16ms (每秒60帧, 1000 / 60 = 16)overdraw (多层次U...

  • UI卡顿

    一、UI卡顿的原理 60fps-->16ms 每秒60帧 ,60ms一帧;大量的GC会使UI卡顿。 overdra...

  • UI卡顿

    UI卡顿原理 60fps->16ms程序的大部分操作要在16ms内完成,listview 的item层叠了太多,有...

  • UI卡顿

    一、60fps 和 16ms的含义 很多时候用户感觉UI卡顿,而造成这种卡顿的最主要根源是来源于渲染器,我们在...

  • Android 应用卡顿的常见原因以及Vsync原理

    应用UI卡顿常见原因主要在以下几个方面: 1.人为在UI线程中做轻微耗时操作,导致UI线程卡顿; 2.布局Layo...

网友评论

      本文标题:UI卡顿

      本文链接:https://www.haomeiwen.com/subject/shpqgqtx.html