现在,我知道在 Android 中没有“退出”应用这样的事情。我的意思是,即使在该应用程序中的所有 Activity 都被销毁后,对应于该应用程序的进程仍保留在内存中。 (为简单起见,让我们将服务等排除在外)。只有当系统决定这样做以回收内存时,该进程才会被终止。
但是,一旦我的所有 Activity 都被销毁,我会假设与我的应用程序对应的进程不再“活跃”。我的意思是,由于我的应用程序没有做任何工作,我假设该进程不再执行分配。这个假设是否正确?
我使用了 Eclipse ADT 通过 New Android Project Wizard
给我的简单默认 HelloWorld
示例,发现情况并非如此。 即使在我关闭应用程序后,我仍然可以在 DDMS 中跟踪分配情况。谁能解释一下这是什么原因?
最佳答案
分配跟踪器为您提供提示:Thread Id 和Allocated in 列。 观看这些内容,您将了解哪个对象和方法进行了分配。
我的非 Activity 应用程序显示 DdmServer 中的分配,这表明内存用于 DDMS 服务工作。
如果您获得其他类型的分配,请检查您的应用是否有一些未完成的线程,或其他可能仍在后台运行的任务。如果是这种情况,请确保在 Activity.onDestroy 中进行清理。
关于java - 即使在我的应用程序为 "interact"之后,DDMS 中我的应用程序进程怎么可能为 "exit"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564034/