【发布时间】:2014-12-20 23:21:57
【问题描述】:
我的应用程序有问题。
我从活动的上下文之外开始一个活动,所以我必须用 FLAG_NEW_TASK 标记它(否则我会收到一个异常告诉我必须添加标记)。
我遇到的问题是,在调用 onDestroyed 之后,活动及其视图没有被垃圾收集,所以每次活动启动时,它都会要求更多内存,并且在一段时间后,它会遇到 OutOfMemory 异常。
我使用 MAT 来分析内存,它告诉我内存中有 X 个活动实例,X 是活动已启动的次数。
我没有对活动或其持有的视图的任何静态引用
有什么方法可以正确收集活动垃圾,还是我不知道关于我正在使用的标志的任何事情?
谢谢
编辑 1
我发现解决此问题的唯一方法是将活动置于其自己的进程中,并在活动完成时终止该进程。但我知道这根本不是正确的方法......
【问题讨论】:
标签: android garbage-collection out-of-memory flags