PagerAdapter防止破坏已经加载的视图

时间:2018-07-17 13:47:31

标签: android performance caching android-viewpager android-pageradapter

我正试图防止ViewPager的PagerAdapter破坏已经加载一次的视图。

如果我理解正确,方法ViewPager.setOffscreenPageLimit(1)将在所选视图的每一侧创建并缓存一个页面。

这对我来说还可以,除了例如我跳转到第5页的部分,将创建并缓存第4和第5页,但第0和第1页将被破坏。

我尝试注释掉寻呼机的destroyItem()方法中的所有内容,并在HashMap中缓存在instantiateItem()中创建的视图,如果在HashMap中找到的视图按原样返回。 ViewPager

这似乎可以正常工作,但是我不确定这种方式是否有任何弊端,除了更高的内存使用率之外,希望这不是问题。

我的应用程序实际上是一个应用程序框架,我将把决定权留给最终的开发人员,以防{{1}}的默认行为,以防他/她不想应用此缓存行为。一些客户是很不合理的,他们在每个页面中都有大量的视图。由于Android的View创建成本很高,因此我试图说服他们在不同的页面中工作,但是正如我所说的那样,它们是不合理的。

你们知道有什么好方法吗?

0 个答案:

没有答案