如何检测android中的活动冻结和滞后原因?

Posted

技术标签:

【中文标题】如何检测android中的活动冻结和滞后原因?【英文标题】:How to detect activity freeze & lag cause in android? 【发布时间】:2021-11-11 06:17:03 【问题描述】:

我的一项活动非常卡顿和滞后。我尝试使用分析器,但无法获得太多细节。有没有其他工具可以帮助我找出活动滞后的原因?

PS - 有大量的流程和代码在活动中,所以在这里发布代码没有意义

【问题讨论】:

【参考方案1】:

我认为你落后的原因有两个:

    您经常在 ViewGroup 或 RecyclerView 中重绘困难的 UI。在开发者选项中,您可以启用Show layout bounds 来检查此问题。 你在主线程中做了很长的事情,需要研究什么可以在主线程中长期工作。

此外,如果您的滞后取决于 RecyclerView,您需要制作简单的 ViewHolder(使用一个 ViewGroup 制作简单的 UI 并从 ViewHolder 中删除所有逻辑,例如:字符串格式,一些数学......)。最好使用 ListAdapter 而不是 RecyclerViewAdapter。

如果您能提供更多信息,我可以为您提供更多建议。

【讨论】:

以上是关于如何检测android中的活动冻结和滞后原因?的主要内容,如果未能解决你的问题,请参考以下文章

启用 64 位后,Unity 游戏在 Android 设备上滞后

执行单击 + 拖动鼠标操作时 Internet Explorer 冻结。如何检测这种情况的原因?

Android - 如何检测堆栈中的最终活动

一段时间后滞后 Android 应用

如何检测Android中的用户不活动

Android中的人脸检测?