活动onBackPressed()导致GC延迟活动响应

时间:2012-05-29 09:45:31

标签: android garbage-collection android-activity

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

任何人都有解决方案吗?

猕猴桃

1 个答案:

答案 0 :(得分:0)

GC不应该花那么长时间,在Android中更改活动不是一项快速任务,需要循环结束活动的暂停回调和返回活动的恢复回调。 这可能占用了最多的时间,因此我首先要衡量这些回调花费的时间:onPauseonStoponDestroyonStart,{ {1}}这两项活动。

您还可以使用Android工具TraceView来分析您的活动,看看花了多长时间。

不推荐,但如果您坚持尝试阻止GC,您可以在用户点击后退键之前手动调用它,这样内存将尽可能免费,并且当活动发生变化时,你被击中的可能性会降低,因为你可以拨打onResume