如何释放inflate产生的view或通过findViewById所得到的view的内存空间


我现在遇到OOM的问题比较严重,我现在做的这个项目用到的图片较多,最近我发现,在机器不休眠的情况下,基本没有OOM的问题,但这并不保证运行是安全的,以后不会出现问题;一旦我反复休眠、唤醒三次后,OOM导致程序直接over,但我发现机器休眠,程序会调用onDestroy方法,既然会调用这个方法,那这个activity的相应资源就会被释放,为何还会出现OOM的问题呢?
想不通阿,想不通。

现在越发觉得gc有如鸡肋一般。
我现在想主动释放一些资源,比如释放通过findViewById获得的view,及inflate所得到的view,这些view事其childView处于被监听状态,如何取消监听,并将这些view所占用的内存释放得较为干净,也就是说这些view在什么情况下通过什么方式可被释放。

Android 内存管理

labler 12 years, 2 months ago

Your Answer