是否可以重用一个活动而不破坏它?例如,当我按下 BACK 按钮后,活动将消失,应用程序将返回上一个活动。但是那个消失的活动仍然在内存中,可以快速显示而无需重新创建它。
这就是我有这样一个想法的原因:我使用的是别人写的活动。我发现有一些内存泄漏,但我找不到它们,因为我没有源代码。所以我想找到一个解决方法。
是否可以重用一个活动而不破坏它?例如,当我按下 BACK 按钮后,活动将消失,应用程序将返回上一个活动。但是那个消失的活动仍然在内存中,可以快速显示而无需重新创建它。
这就是我有这样一个想法的原因:我使用的是别人写的活动。我发现有一些内存泄漏,但我找不到它们,因为我没有源代码。所以我想找到一个解决方法。
如果你不杀死你的活动,它是可能的:
open 1, 2, 3 activities
1 > 2 > 3
back to #2 // call startActivity for 2, don't call finish() in 3
1 > 2
open #4 activity
1 > 2 > 4
back to #2
1 > 2
restore #3 activity // call startActivity for 3 with intent as Intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_To_FRONT);
1 > 2 > 3
在这里,您将获得活动 3 的副本,因为它是您离开时的副本。
检查此链接
您应该覆盖后退按钮并将 Activity 带到前台而不实际完成它。