我正在查看我的应用程序生成的systrace,我已经确定了一个要花太长时间的框架。这是由RecyclerView的onCreateViewHolder在膨胀项目视图时造成的。项目视图与ConstraintLayout一样平坦。但下面的systrace报告有很多VerifyClass块,每个块占用17 ms。
VerifyClass块是什么意思?

发布于 2017-10-19 15:24:07
很难说VerifyClass到底在做什么,因为它不是Android或ConstraintLayout的一部分。我发现的唯一提到是SDK的C部分:
但我有几个建议:
1)尝试在发布模式下构建你的应用程序,看看你是否还有FPS的问题。我的假设是,这个VerifyClass是为调试版本执行的,用于对某些东西进行基准测试,但这只是猜测。
2) ConstraintLayout具有方便的API和平面的层次结构(这对绘图遍历有积极的影响),但的测试和布局过程仍然比其他布局慢很多。其原因是约束计算的复杂性。因此,在RecyclerView中使用它可能会在ViewHolder创建期间造成严重的性能损失。如果列表单元格的层次结构足够简单,我建议切换到一些普通的布局并检查行为。
https://stackoverflow.com/questions/46701801
复制相似问题