从数据的角度分析游戏卡顿现象?
导致卡顿的可能点:
首先我们分析分析有哪些点会导致卡顿?
1.重复绘制,通过开发者选项排查
2.层次复杂,嵌套多层。通过include,viewstub,merge属性来应对。
include
比如标题栏actionBar,可以抽取出来。该布局几乎大多数activity都会用到
ViewStub
这个标签最大的优点是当你需要时才会加载,使用他并不会影响UI初始化时的性能。各种不常用的布局想进度条、显示错误消息等可以使用这个标签,以减少内存使用量,加快渲染速度。
merge
这个标签在UI的结构优化中起着非常重要的作用,它可以删减多余的层级,优化UI。但是就有一点不好,无法预览布局效果
3.主线程耗时操作,一般情况表现为卡顿,严重的会引发ANR。
4.频繁GC,比如ondraw中高频使用的对象,快速创建又快速销毁。