如何提高ViewPager的性能?

3
我想知道如何提高ViewPager的性能。我有一个ViewPager,其中包含大约25个带有大图片的滑动页面。我已经进行了内存优化以避免OutOfMemoryError。它工作得很好。但是在滑动时仍然会有一些卡顿。我将离屏页限制设置为2。如果我增加离屏页限制,它会在内存中加载更多页面,我最终会遇到OOM。是否有任何建议可以避免在滑动时出现卡顿?

你用什么获取图像?位图(bitmap)?可绘制对象(drawable)? - Niko Adrianus Yuwono
你是否检查了适配器的destroyItem方法中,包括位图(应该被回收)在内的滑动视图是否被正确销毁? - user936414
@NAYOSO 我正在使用setImageBitmap()方法。 - Manoj
@user936414 是的,我正在使用FragmentTransaction在FragmentStatePagerAdapter的destroyItem()中销毁Fragment。 - Manoj
3个回答

1

你的 ViewPager 不能缓存超过2页?听起来你需要再调整一下你的片段。例如,确保你不要拉伸背景图片,并确保你的布局尽可能简单(即不使用不必要的布局)。如果你能看到你的应用程序为这两个页面使用了多少内存。

一旦你验证了这一点,看看是否可以增加屏幕外页面限制。然后检查你是否正确销毁了片段


0

如果涉及到图片,另一个可能的解决方案是将它们放在drawable-hdpi文件夹中,这样它们会加载得更快。你可以在这里查看答案。


0

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