困擾我屢次的內存溢出問題終於解決了

viewpager+fragment +多圖 簡直要命,滑動到第10個fragment左右就會內存溢出ide

說是內存溢出,實際上是內存泄漏。圖片加載開源庫有不少,我用的是Glide,Glide會回收圖片釋放內存,然而若是該圖片一直被imageview保持引用就會出現沒法回收的狀態,最終這些圖片愈來愈多,致使內存溢出。.net

而後要解決的問題就是在適當的時間釋放掉這些引用。blog

這裏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使用
————————————————
版權聲明:本文爲CSDN博主「endermanjs」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/u011291302/article/details/50177507rem

相關文章
相關標籤/搜索