首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Systrace内部的VerifyClass是什么意思?

Systrace内部的VerifyClass是什么意思?
EN

Stack Overflow用户
提问于 2017-10-12 05:06:16
回答 2查看 1.6K关注 0票数 17

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

VerifyClass块是什么意思?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-19 15:24:07

很难说VerifyClass到底在做什么,因为它不是Android或ConstraintLayout的一部分。我发现的唯一提到是SDK的C部分:

r1-AOSP-changelog.html

但我有几个建议:

1)尝试在发布模式下构建你的应用程序,看看你是否还有FPS的问题。我的假设是,这个VerifyClass是为调试版本执行的,用于对某些东西进行基准测试,但这只是猜测。

2) ConstraintLayout具有方便的API和平面的层次结构(这对绘图遍历有积极的影响),但测试和布局过程仍然比其他布局慢很多。其原因是约束计算的复杂性。因此,在RecyclerView中使用它可能会在ViewHolder创建期间造成严重的性能损失。如果列表单元格的层次结构足够简单,我建议切换到一些普通的布局并检查行为。

票数 4
EN

Stack Overflow用户

发布于 2017-10-21 20:50:06

并不是真正的C++/Android内部专家能够清楚地解释VerifyClass方法在linker.h中定义并在linker.cc中实现意味着什么,但我不太注意它的执行时间。

我要考虑的是包含RecyclerViewConstraintLayout项,它的膨胀消耗了CPU时间。

关于尝试发行版构建的建议,它不会产生任何不同--对本机VerifyClass方法的调用将同时用于调试和发布构建。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46701801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档