0

我试图弄清楚为什么当用户在活动之间切换和创建对话框时我的应用程序口吃。

我转储我的应用程序性能,以便使用 Profiler 检测异常并使用该应用程序一段时间。

在此处输入图像描述

与其他对象相比,我设法检测到的唯一异常是 Bitmap 的“Native Size”数量相对较多:

在此处输入图像描述

但我真的不知道它是否异常,如果是,如何调查和解决它。

该应用程序非常大,所以我认为最好共享整个 repo 以便您能够查看代码:

https://github.com/steingolditay/ezBalans

4

2 回答 2

0
  1. 我注意到在您的内存屏幕截图中,内存分析器检测到了四个泄漏。您是否尝试单击标签以查看它们是什么?
  2. 要调试丢失的帧,请使用 CPU 分析器记录系统跟踪。请参阅https://developer.android.com/studio/profile/cpu-profiler#frame-render。一旦找到红色帧(超过 60 Hz 阈值),请查看您的渲染/UI 线程以查找可能导致瓶颈的长时间运行的跟踪事件。这个视频可能会有所帮助。
于 2021-04-22T00:20:56.807 回答
0

打开您认为滞后的活动并在 logcat 过滤器 bywordChoreographer中,如果您发现

跳过了 60 帧!

在 logcat 中,这意味着应用程序可能在其主线程上做了太多的工作。

然后您可以针对该活动优化您的呼叫和处理

于 2021-04-15T12:07:56.630 回答