在某些手机(尤其是三星手机)中,该应用程序给出了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/