在某些手机(尤其是三星手机)中,该应用程序给出了OutOfMemory错误。

我将ViewFlipper与4个ImageViews一起使用,它们在教程中显示。

我没有找到纠正错误或回收imageviews的方法。

这是管理ViewFlipper的方法:

private void changeBackground(int position) {

    switch (position) {

        case 1:
            mViewFlipper.setDisplayedChild(1);
            mViewFlipper.setInAnimation(getActivity(), R.anim.anim_clockwise_onboarding);
            mViewFlipper.setOutAnimation(getActivity(), R.anim.anim_clockwise_inverse_onboarding);
            break;

        case 2:
            mViewFlipper.setDisplayedChild(2);
            mViewFlipper.setInAnimation(getActivity(), R.anim.anim_clockwise_onboarding);
            mViewFlipper.setOutAnimation(getActivity(), R.anim.anim_clockwise_inverse_onboarding);
            break;

        case 3:
            mViewFlipper.setDisplayedChild(3);
            mViewFlipper.setInAnimation(getActivity(), R.anim.anim_clockwise_onboarding);
            mViewFlipper.setOutAnimation(getActivity(), R.anim.anim_clockwise_inverse_onboarding);
            break;

        default:
            mViewFlipper.setDisplayedChild(0);
            mViewFlipper.setInAnimation(getActivity(), R.anim.anim_clockwise_onboarding);
            mViewFlipper.setOutAnimation(getActivity(), R.anim.anim_clockwise_inverse_onboarding);
            break;

    }

}


每次在ViewPager中更改页面时都会调用该方法。

@Override
public void onPageSelected(int position) {
       changeBackground(mViewPager.getCurrentItem());
}


如果有什么想法请帮助我,在此先感谢。

最佳答案

为此,您需要使用图像加载器库来加载图像。
您可以使用 :


通用图像加载器
毕加索
滑行


该库用于位图内存管理,使用该库后,您无需面对OutOfMemoryError异常。

关于java - 回收ImageViews以避免OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36354229/

10-12 03:21