2013-03-26 83 views
0

其中每个页面都是以不同图片集作为背景的片段。由于我需要确保它顺利地滚动而不滞,我已经设置了offscreenpage 20(项目在viewpager数),但我很oftenly收到此错误:Android Viewpager OutOfMemoryError Fragment

java.lang.OutOfMemoryError: bitmap size exceeds VM budget  

我已经压缩的图像最大(压缩JPEGS),任何想法如何我可以解决这个问题?

回答

0

我会在切换片段时动态加载/卸载背景图像。它们应该加载得足够快,不会注意到,特别是如果您使用动画来隐藏转换(淡入/淡出)。或者更好的是,加载4个或5个(每个方向2个),所以如果你很快滚动,你只会看到褪色。

0

位图大小取决于图像的像素密度。尝试减少背景图像MPx。

1

在Android开发人员网站的培训部分有一篇不错的文章:http://developer.android.com/training/displaying-bitmaps/index.html ...它向您展示了如何在您的android应用程序中使用缓存机制。您可以在ViewPager实施中采用此方法。

+0

我该如何使用这些碎片? – user1437481 2013-03-26 20:37:29

+0

当然......你的片段有一个背景,有背景(对不起,因为是队长))。在适配器中,您必须将其设置为碎片视图。 – 2013-03-27 00:12:44