con*_*sed 5 android memory-management out-of-memory android-activity
我为我的Android应用程序得到了一个OutofMemoryError,并且对于最新情况我有点困惑.基本上发生了什么,我能够在前几次运行它,但是当我尝试退出它然后再次快速重复打开它时,我得到一个内存不足错误.
我已经尝试过研究这个主题,并发现recycle()方法通常是问题所在.但是,我在每个位图(存储在一个对象容器中,存储在一个arraylist中)中调用了recycle方法,但仍然遇到了问题.
在这样做之后,我尝试使用Eclipse Memory Analyzer查看堆转储,当我遇到一些奇怪的东西时.退出活动后(回到启动器活动,然后通过按钮再次打开活动),我使用内存分析器截取了堆转储的屏幕截图.事实证明,每次我退出并重新进入活动,正在创建活动对象的另一个实例,并且即使正在调用onDestroy()方法(也有回收/清理代码),旧的未被释放.
然后我尝试重写finalize方法,看看当活动退出到启动器活动时它是否被调用,但它没有被调用.我读了一些其他stackoverflow线程,并不总是调用finalize(),所以最后,我仍然不确定最新情况.
最终,我的问题是: 我如何确保在从活动退出到另一个活动后释放Activity对象(活动对象本身,而不是从活动创建的东西)?
| 归档时间: |
|
| 查看次数: |
7386 次 |
| 最近记录: |