UI卡顿

作者: xiaolong20 | 来源:发表于2017-12-08 22:20 被阅读0次

    一.UI卡顿原理

    60fps->16ms:gc时其他线程都不执行,大量gc会导致卡顿

    overdraw

    二.UI卡顿原因分析

    1.人为在UI线程中做轻微耗时操作,导致UI线程卡顿

    2.布局Layout过于复杂,无法在16ms内完成渲染

    3.同一时间动画执行的次数过多,导致CPU或GPU负载过重

    4.View过渡绘制,导致某些像素在同一帧时间内被绘制多次,从而使CPU或GPU负载过重

    5.view频繁的触发measure、layout,导致measure、layout累计耗时过多及整个View频繁的重新渲染

    6.内存频繁触发GC过多,导致暂时阻塞渲染操作

    7.冗余资源及逻辑等导致加载和执行缓慢

    8.ANR

    三.UI卡顿总结

    1.布局优化:尽量用Gone代替INVISIBLE,Gone不会绘制,INVISIBLE会

    item很复杂用自定义view复用

    2.列表及Adapter优化

    3.背景和图片等内存分配优化

    4.避免ANR

    相关文章

      网友评论

          本文标题:UI卡顿

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