我的应用程序中有几个服务和活动。
当触发onDestroy()方法时,我当前将所有变量都设置为null。这会释放内存吗?还是安卓真的会这么做?
另外,如果将Threads和Runnables设置为null,您还应该这样做吗?
一旦用户在活动中按下/轻击了"Done“,我就会在活动上调用finish(),然后触发onDestroy()并将变量设置为null。
然而,当我转到Application Manager > Running Services时,它显示我的应用程序使用了大约20-25MB的内存,即使你在这些活动上调用finish(),安卓还会保留这些活动吗?
PS:当我使用任务管理器杀死它时,内存使用率下降到4-7MB。
发布于 2013-12-19 09:18:37
唯一应该留在内存中的是你的服务,如果你没有解除它们的绑定,但即使这样,如果没有任务正在执行,大多数服务也会销毁它们自己。也就是说,如果您所谈论的是Service类或任何类似的类。
您不需要将onDestroy中的变量设为空,onDestroy会为您处理这一问题
发布于 2013-12-19 09:58:24
如果使用Bitmap avaiables,则必须将其回收
https://stackoverflow.com/questions/20671778
复制相似问题