内存不足错误 ViewPager + ImageView

4

我在ViewPager中展示了100张图片,当我在这些图片之间导航时,我的应用程序会崩溃(内存不足错误)。我想使用destroyItem来释放内存,但它没有起作用。你能帮我吗?

public class ViewPagerAdapter extends FragmentPagerAdapter {
public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int pos) {  
    return JpgFragment.newInstance(pos);
}

@Override
public int getCount() {
    return ViewPagerActivity.slidesSize;
}

public String getPageTitle(int pos) {
    return null;
}

@Override
public void destroyItem(View collection, int position, Object o) {
    Log.d("DESTROY", "destroying view at position " + position);
    View view = (View) o;
    ((ViewPager) collection).removeView(view);
    view = null;
}

我在我的片段中(在onCreateView中)设置了ImageView

1个回答

3

FragmentPagerAdapter会一次性将所有片段加载到内存中。如果你需要在屏幕上显示大量的碎片,请考虑使用FragmentStatePagerAdapter,因为这样更有效率。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接