我正试图防止ViewPager
的PagerAdapter破坏已经加载一次的视图。
如果我理解正确,方法ViewPager.setOffscreenPageLimit(1)
将在所选视图的每一侧创建并缓存一个页面。
这对我来说还可以,除了例如我跳转到第5页的部分,将创建并缓存第4和第5页,但第0和第1页将被破坏。
我尝试注释掉寻呼机的destroyItem()
方法中的所有内容,并在HashMap
中缓存在instantiateItem()
中创建的视图,如果在HashMap
中找到的视图按原样返回。 ViewPager
。
这似乎可以正常工作,但是我不确定这种方式是否有任何弊端,除了更高的内存使用率之外,希望这不是问题。
我的应用程序实际上是一个应用程序框架,我将把决定权留给最终的开发人员,以防{{1}}的默认行为,以防他/她不想应用此缓存行为。一些客户是很不合理的,他们在每个页面中都有大量的视图。由于Android的View创建成本很高,因此我试图说服他们在不同的页面中工作,但是正如我所说的那样,它们是不合理的。
你们知道有什么好方法吗?