Skip to content

Latest commit

 

History

History
16 lines (16 loc) · 1.24 KB

load-image-oom.md

File metadata and controls

16 lines (16 loc) · 1.24 KB

#内存溢出的原因 ##1.未及时释放资源引用。
在Android平台上,长期保持一些资源的引用,造成一些内存不能释放,带来的内存泄露问题很多
##2.使用线程操作。
*改进 **将线程的内部类,改为静态内部类。 **在程序中尽量采用弱引用保存Context。 ##3.bitmap尽量不要在内存中保存,使用前利用压缩优化。
#解决之道:
要避免内存泄露,主要要遵循以下几点:
####第一:不要为Context长期保存引用(要引用Context就要使得引用对象和它本身的生命周期保持一致)。
####第二:如果要使用到Context,尽量使用ApplicationContext去代替Context,因为ApplicationContext的生命周期较长,引 用情况下不会造成内存泄露问题
####第三:在你不控制对象的生命周期的情况下避免在你的Activity中使用static变量。尽量使用WeakReference去代替一个static。
####第四:垃圾回收器并不保证能准确回收内存,这样在使用自己需要的内容时,主要生命周期和及时释放掉不需要的对象。尽量 在Activity的生命周期结束时,在onDestroy中把我们做引用的其他对象做释放,比如:cursor.close()。