OOM之后的活动

时间:2013-11-21 15:21:12

标签: android exception memory android-activity

我有活动A。从A我开始活动B。 在活动B中我使用了大量内存,有时我得到OOM。我正在努力修复此问题,但与此同时,我想向用户展示一些信息。

在大多数情况下,

OOM不会导致我的应用崩溃。它只关闭活动B并恢复A。是否可以从A检测到B未正确完成?

我可以从许多其他活动返回A,而不仅仅是B

我不想在Ab_startedb_finishedb_sth)中设置一些标记。如果存在一个,我想要干净简单的解决方案。

1 个答案:

答案 0 :(得分:2)

是的,我认为你可以通过以下方式解决这个问题:

1)每当您开始活动时,请使用 startActivityForResult(intent,requestCode); 这里传递了活动B唯一的请求代码。

2)现在,只要活动B关闭,您将在A中获得回调 protected void onActivityResult(int requestCode,int resultCode,Intent data) 这里检查请求代码是否与您用于启动活动B的代码相似。

3)你最后的问题是找出活动B是否成功关闭。您可以使用resultCode。当您有意关闭活动时,将其设置为成功,否则它将不会成功。

我希望这有帮助!