困扰我多次的内存溢出问题终于解决了

原创 2015年12月04日 17:28:28

 

viewpager+fragment +多图 简直要命,滑动到第10个fragment左右就会内存溢出


说是内存溢出,其实是内存泄漏。图片加载开源库有很多,我用的是Glide,Glide会回收图片释放内存,然而如果该图片一直被imageview保持引用就会出现无法回收的状态,最终这些图片越来越多,导致内存溢出。


然后要解决的问题就是在适当的时间释放掉这些引用。


这里viewpager和fragment配合使用,当然是以fragment为一个单位,那么在fragment的onDestroyView释放引用。代码如下

private void unbindDrawables(View view)
{
        if (view.getBackground() != null)
        {
                view.getBackground().setCallback(null);
        }
        if (view instanceof ViewGroup && !(view instanceof AdapterView))
        {
                for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++)
                {
                        unbindDrawables(((ViewGroup) view).getChildAt(i));
                }
                ((ViewGroup) view).removeAllViews();
        }
}
出处为http://stackoverflow.com/questions/16409020/fragmentstatepageradapter-outofmemoryerror


viewpager配合FragmentStatePagerAdapter使用

RecyclerView利用Glide加载大量图片into(Target)导致OOM异常

RecyclerView利用Glide加载大量图片into(Target)导致OOM异常    这是我的第一篇博客,此前很早就有写博客记录自己学习路程的想法,但都由于个人问题而没能实现,今天刚好趁着遇...
  • m0_38079174
  • m0_38079174
  • 2017年04月30日 11:07
  • 4790

关于使用Glide的一点小坑

前言:Glide很强大,这个不用多说,谁用谁知道。 在实际项目中,我们的一些错误做法可能会辜负这个强大的图片加载库。 就比如:后台传的商品图片品质太差,用Glide缓存的时候会出现绿色背景,一顿百...
  • sunxiaogang0214
  • sunxiaogang0214
  • 2016年11月02日 18:07
  • 2281

android解决加载图片内存溢出

  • 2013年10月30日 16:45
  • 2.09MB
  • 下载

使用Glide导致内存泄漏最终OOM的问题解决

前两天在项目的测试过程中出现了不规律崩溃的情况,查看堆栈信息是OOM导致的崩溃,但是在代码中没有加载大文件之类的操作,所以怀疑是内存泄漏导致的 ;(关于如何查看内存信息和某一时刻内存中对象(数据)的方...
  • yjs1043014961
  • yjs1043014961
  • 2017年11月18日 22:43
  • 541

图片加载及缓存框架Glide在安卓开发中的应用

1)综合介绍Glide框架 2014谷歌推出的;图片加载速度快,用户体验好(最大的优点);需要比较大的内存空间进行图片缓存 2)Glide如何导包? compile 'com.github.bumpt...
  • chenrushui
  • chenrushui
  • 2016年05月06日 22:52
  • 4887

Android高效加载大图、多图解决方案,有效避免程序OOM

我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。 比如说系统图片库里...
  • THEONE10211024
  • THEONE10211024
  • 2015年10月15日 15:01
  • 1196

ImageView的scaleType设置不当,导致使用Glide时出现OOM

转载地址:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0606/3002.html 来源 http://www.lich...
  • lijinhua7602
  • lijinhua7602
  • 2015年06月14日 22:27
  • 4975

Android使用Glide加载Gif.解决Glide加载Gif非常慢问题

在Glide文档中找了半天没发现加载Gif的方式.然后通过基本的用法去加载:Glide.with(MainActivity.this).load(url).asGif().into(imageView...
  • u010316858
  • u010316858
  • 2015年11月05日 17:16
  • 31770

图片加载之Glide使用总结

相关方法 with():指定了声明周期 load():加载资源,String/Uri/File/Integer/URL/byte[]/T,或者 loadFromMediaStore(Uri uri) ...
  • wbwjx
  • wbwjx
  • 2016年04月25日 07:39
  • 18399

Glide 一个专注于平滑滚动的图片加载和缓存库

Glide 一个专注于平滑滚动的图片加载和缓存库 原文地址:http://www.jianshu.com/p/4a3177b57949                     http://www...
  • superbigcupid
  • superbigcupid
  • 2016年06月14日 18:50
  • 1672
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:困扰我多次的内存溢出问题终于解决了
举报原因:
原因补充:

(最多只允许输入30个字)