ViewPager性能问题归因于内部每个片段的invalitadion

时间:2013-02-06 11:13:50

标签: android performance android-viewpager

Offtopic:谢谢你的时间,对不起我的英语。

问题是在ViewPager上滑动时滞后。

使用的配置是带有标签(和虚拟内容)的TabHost,带有四个片段的ViewPagerFragmentPagerAdapter来管理它。

所有4个片段都有一个列表,其中一些列表中包含其他小部件。东西是2个片段,或者那些片段中的2个列表非常重。列表项为LinearLayout,其中约10个加权项目绑定了CursorAdapter。我知道这里存在一个大问题,但是我一直在努力寻找这个“百分比宽度”列表项目的方法而没有任何运气。

但是,在一些日志之后,我发现在每次刷卡过程中,3个托管片段都“无效”。我的意思是“无效”,因为我看到的是每个列表绑定项目很多(很多)次。而且由于重新列出了3个列表,包括我的2个重列表,所以会出现滞后现象。

我的代码还有两件事:我正在使用游标加载器,我确信这不是娱乐的原因,因为刷卡时不会出现加载器回调。 在FragmentPagerAdapter.onPageSelected我只更新当前标签。

设置ViewPager.setOffScreenPageLimit(3)以保持4个片段存活更糟糕。即使我从片段3滑动到4,第一个片段上的列表也会被重新渲染,我真的不想要也不理解。

我的解决方法是使用onPageSelected将当前列表视图的可见性设置为Visible,其他隐藏。使用这些方法,滞后消失(比方说95%),但我可以看到,当我在创建之前滚动空列表视图时。

我想问一下,如果我在某些方面错了,可能会错过一个重要的想法。如果有人有可能的解决方案,也许避免那些娱乐(我不知道如何),或者,如果其他人变得相同,并且没有什么可以解决它。

我会尝试看看ViewPager来源,但我刚打开文件woouu .. 我会尝试用这个问题来测试项目。

非常感谢。

0 个答案:

没有答案