预加载ViewPager页面 - 因为滞后

时间:2013-02-27 20:28:45

标签: android performance android-viewpager fragment swipe

这是否可以为ViewPager预加载片段,以便用户滑动到下一页时没有延迟?我一直在尝试两种适配器,但是从Fragmentstatepageradapter(我使用片段生成N页)切换到fragmentpageadapter是没有用的。我在页面中加载了很多位图。设置viewpager屏幕外页面没有帮助。有没有办法预加载它们并在backgdound充气?我知道这是一个愚蠢的问题,但我对性能有点绝望。基本上在我的应用程序中,当用户滚动到下一页时,有一种滞后,只是在页面之间,这很烦人......请帮助或指出正确的方向。我的目标是姜饼,所以我需要使用Android支持提供的功能。

1 个答案:

答案 0 :(得分:7)

  

是否可以为ViewPager预加载片段,以便用户滑动到下一页时没有延迟?

不确定。让适配器预加载片段。 负责在getItem()中返回片段 - 无论这些是"预先加载"或不是你的工作。

话虽这么说,你的问题很可能不是碎片本身,而是碎片正在做的事情。例如,您在我的页面中加载了很多位图"如果您正在进行与主应用程序线程相关的工作(例如,使用BitmapFactory),则会导致你自己的滞后。

所以,而不是飙升到" preload"一些有才华的程序员会使用Traceview等工具找出具体导致滞后的原因。然后,只有这样,才华横溢的程序员才能开始修复。