Android学习笔记--使用Universal-Image-Loaderf发生OOM到解决OOM问题
Posted 纯属浪费8818
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android学习笔记--使用Universal-Image-Loaderf发生OOM到解决OOM问题相关的知识,希望对你有一定的参考价值。
这里要引用一篇文章,http://blog.csdn.net/editor1994/article/details/50394560 非常不错的一篇分析OOM问题
项目中加载了大量的图片使用完之后没有被释放,从而导致内存泄露,直到OOM,后来我使用上面文章使用到的方法发现是有效果,但是在一个界面多次频繁还是会出,于是万般无奈之下只能换了Glide图片加载框架,
自定义了一个GlideModule,
1 /** 2 * Created by admin on 2017/4/7. 3 */ 4 5 public class GlideDemo implements GlideModule { 6 @Override 7 public void applyOptions(Context context, GlideBuilder builder) { 8 builder.setMemoryCache(new LruResourceCache(2*1024*1024)); 9 builder.setBitmapPool(new LruBitmapPool(2*1024*1024)); 10 } 11 12 @Override 13 public void registerComponents(Context context, Glide glide) { 14 15 } 16 }
加载图片时候的代码
1 Glide.with(lYActivity.this) 2 .load(arrayList.get(position).getBigimg()) 3 .error(R.drawable.mimg) 4 .skipMemoryCache(false) 5 .diskCacheStrategy(DiskCacheStrategy.ALL) 6 .into(mImage);
目前问题算是解决了,后续在补充,还有启动一个Server,实时监听内存的使用情况,如果内存快要超出指定的内存,强制返回主页并且释放资源
监听内存的Service代码
1 timer = new Timer(); 2 timerTask = new TimerTask() { 3 @Override 4 public void run() { 5 //应用程序最大可用内存 6 int maxMemory = ((int) Runtime.getRuntime().maxMemory())/1024/1024; 7 //应用程序已获得内存 8 long totalMemory = ((int) Runtime.getRuntime().totalMemory())/1024/1024; 9 //应用程序已获得内存中未使用内存 10 long freeMemory = ((int) Runtime.getRuntime().freeMemory())/1024/1024; 11 Sysout.println("我---> 应用内存="+maxMemory+"M,以及使用的="+totalMemory+"M,剩下的="+freeMemory+"M"); 12 if(totalMemory > 58){ 13 // Toast.makeText(NeiCunService.this, "程序异常,正在重启,请稍后", Toast.LENGTH_SHORT).show(); 14 context.sendBroadcast(new Intent("com.zhushiyun.oom")); 15 // System.exit(0); 16 //timer.cancel(); 17 } 18 } 19 }; 20 timer.schedule(timerTask,1000,5000); 21 Sysout.println("我是监控内容的我已经启动");
以上是关于Android学习笔记--使用Universal-Image-Loaderf发生OOM到解决OOM问题的主要内容,如果未能解决你的问题,请参考以下文章
Marlin:Preprocessing zkSNARKs with Universal and Updatable SRS学习笔记
机器学习笔记:MLP的万能逼近特性( Universal Approximation Property)
机器学习笔记:MLP的万能逼近特性( Universal Approximation Property)