我有活动A。从A我开始活动B。在活动B中,我使用了大量的内存,有时我得到了OOM。我正在努力修复这个,但同时我想给用户展示一些信息。
在大多数情况下,OOM不会破坏我的应用程序。它只是关闭活动B并恢复A。是否有可能从A中检测到B没有正确完成?
我可以从许多其他活动回到A,而不仅仅是从B。
我不想在A (b_started,b_finished,b_sth)中设置一些标志。如果有的话,我想要一个干净而简单的解决方案。
发布于 2013-11-21 15:29:11
是的,我认为你可以用以下方式处理这件事:
1)每当您开始一个活动,使用startActivityForResult(intent,requestCode);在这里传递对活动B是唯一的请求代码。
2)现在,每当活动B被关闭时,您将在protected onActivityResult(int requestCode,int resultCode,意图数据)的中得到A中的回调,检查请求代码是否类似于启动活动B的代码。
3)你的最后一个问题是找出活动B是否成功地结束了。您可以为此使用resultCode。当您有意关闭活动时,将其设置为 success ,否则就不会成功。
我希望这能帮到你!
https://stackoverflow.com/questions/20124828
复制相似问题