引入largeHeap属性
禁用Glide内存缓存
自定义GlideModule
asDrawable代替asBitmap
imageView的scaleType属性
是否使用全局变量
引入largeHeap属性
让系统为App分配更多的独立内存。
<application
android:largeHeap="true">
</application>
禁用Glide内存缓存
Glide.with(this)
.load("")
.skipMemoryCache(true)//禁用内存缓存
.into();
自定义GlideModule
设置MemoryCache和BitmapPool大小
在另一篇文章有写怎么配置:Glide简单使用
asDrawable代替asBitmap
级到Glide4.0,asDrawable代替asBitmap,drawable更省内存
Glide.with(this)
.asDrawable()
.load("")
.into(img);
imageView的scaleType属性
ImageView的scaleType为fitXY时,改为fitCenter/centerCrop/fitStart/fitEnd显示。
是否使用全局变量
- 不使用application作为context。当context为application时,会把imageView是生命周期延长到整个运行过程中,imageView不能被回收,从而造成OOM异常
- 使用application作为context。但是对ImageView使用弱引用或软引用,尽量使用SoftReference,当内存不足时,将及时回收无用的ImageView。