0

我面临一个问题,当我从活动 B 移回活动 A(通过后按)时,会导致大量 GC(在 logcat 中显示),这会使应用程序在返回活动 A 前大约 1 秒停止。

有人对此有任何解决方案吗?

猕猴桃

4

1 回答 1

0

GC 应该不会花那么长时间,在 Android 中更改一个 Activity 不是一项快速的任务,需要在结束 Activity 的暂停回调和返回的 Activity 的恢复回调之间循环。这可能是占用时间最多的部分,因此我将首先测量在这些回调上花费了多少时间:onPause, onStop, onDestroy, onStart,onResume两个活动。

您还可以使用 Android 工具TraceView来分析您的活动并查看耗时过长的情况。

不推荐,但是如果你坚持要阻止GC,你可以在用户点击返回键之前手动调用它,这样内存会尽可能的空闲,你被命中的机会也会更小当活动发生变化时点击,你可以打电话System.gc()

于 2012-05-29T09:55:44.960 回答