UI卡顿相关

UI卡顿原理

60 fps -->16ms
卡顿,主要是渲染。
一秒60帧, 在16ms内完成计算渲染,操作。
在绘制的时候 大量的gc

overdraw 过渡绘制,减少红色。

UI卡顿原因分析

  • 人为在UI线程中做轻微的耗时操作,导致UI线程卡顿。
    android不是线程安全的,线程间通信 handler。
  • 布局Layout 过于复杂,无法在16ms内完成渲染
  • 同一时间动画执行的次数过多,导致CPU或GPU负载过重
  • View过度绘制,导致某些像素在同一帧时间内被绘制多次,从而使CPU 或GPU负载过重
  • View 频繁的触发measure / layout ,导致 measure / layout 累计耗时过多 及整个View 频繁的重新渲染
  • 内存频繁出发gc 过多,导致暂时阻塞渲染操作
  • 冗余资源及逻辑导致加载执行缓慢
  • ANR (轻量版)

总结

  • .布局优化,include ,merge ,尽量不要嵌套,GONE 不会绘制,invisible 会绘制,尽量使用weight
  • 列表及Adapter 优化, adapter 的 getview。 滑动时候,只有在滑动停止的时候 再去加载图片,更新元素,可以在滑动时候显示缩略图
  • 背景和图片等内存分配优化,尽量减少不必要的背景
  • 避免ANR android 中的异步消息框架,Handler,AsyncTask, IntentService ,HandlerThread
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容