我有一个应用程序,我写的是位图很重。如果您启动该应用程序,请退出该应用程序并多次回到该应用程序,最终由于内存不足而最终得到强制关闭。Android内存异常
我知道哪里出了内存不足,可以试试看。问题是,如果我没有运行记忆,我该怎么办?没有位图,我的应用程序无法正常工作,所以我不能不显示它们。
我试过把onPause设置为null。我曾尝试在onPause完成。在写这封电子邮件之前,我做了大量研究并阅读了许多帖子,并尝试了很多建议。
底线是我使用的内存似乎没有被释放或其他事情正在发生。
我使用ADB介面执行cat/proc/meminfo中的启动和停止,并在此之间的命令尝试是我发现:
MemTotal:31348
启动应用程序,一切工作
MemTotal: 18180
退出应用
MemTotal:20160
启动应用程序,一切工作
MemTotal:12480
退出应用
MemTotal:13740
启动应用程序,一切工作
MemTotal:9600
退出应用
MemTotal:10844
启动应用程序,第一内存异常,5位图的只是一个没有显示出来,但没有崩溃
MemTotal:6224
退出应用
MemTotal:7244
开始应用,不启动,失控的内存导致我赶上一个错误,所以退出
MemTotal :7836
启动应用程序,内存不足的异常,并强制关闭,打力关闭按钮
MemTotal:31648
正如你可以看到内存现在终于发布了,但只有强制关闭后。
如果我开始和退出真的很快,或者在每次开始和结束之间等待发生同样的事情并不重要,所以我不能只引入延迟。
有没有办法“强制”强制关闭,除非没有真正显示消息并且不是错误状态?我认为这就是完成()应该做的事情,但事实并非如此。
感谢您的任何帮助或想法,我可以尝试。
这听起来像你并没有真正把所有东西都设置为null,你需要。如果您发布了一些代码,显示所有保持对您的位图的引用的数据结构,或许我们可以提供帮助。另外,请查看使用分配跟踪器(描述[这里](http://android-developers.blogspot.com/2009/02/track-memory-allocations.html))。 – 2011-05-06 17:19:12