卡顿

2018-08-21  本文已影响0人  alvinljn321

1、GPU 耗时导致卡顿:

造成 GPU 耗时原因与画面的绘制有关,比如界面存在严重的过度绘制,绘制高清大图等,通常与 UI View 的这些绘制方法相关,如 draw(),onDraw(),dispatchDraw() 等。

——建议减少不合理的 UI 布局,视图过多,层次过深的问题,避免耗费 UI 线程去做更多的测量、布局、响应时间。在这方面,阅读的表现还算不错。

2、CPU 的耗时导致卡顿:

主要是由于 UI 线程有耗时较久的操作,比如处理大图片、进行耗时的 IPC 通信等,自然会拖长 UI 线程处理的时间,导致无法在 16.6ms 内处理完相关逻辑,进而导致了界面刷新滞后,给人带来的直接感受就是连续的动画过程发生了卡屏的现象。

——主线程只做与 UI 相关的事情,其它耗时长的操作异步处理

3、GC 导致卡顿:

如果发生内存抖动或短时间申请大内存等情况,会引发 GC,导致主线程停止,从而发生卡顿。

——减少临时对象的使用,减小 Bitmap 对象的内存占用,使用更小的资源图片

ConstraintLayout 最大化减少布局层次结构,极大减少布局和测量的次数,提高性能,所以布局尽量使用ConstraintLayout来做,可以改良APP性能。

https://juejin.im/entry/59b63f26f265da064d345791

https://www.jianshu.com/p/b9bd08ffe921

工具:

https://cloud.tencent.com/developer/article/1156121

上一篇 下一篇

猜你喜欢

热点阅读