ListView减慢了ViewPager的滑动速度

时间:2013-05-29 14:46:38

标签: android performance android-listview android-viewpager

我有一个ViewPager,其中包含从网上下载的ImageViews,当我的ListView(在另一个单独的布局中)未初始化时,它可以正常滑动。

但问题在创建ListView时开始。 ViewPager仍然“滑动”,但只滑动大约1/4,滞后,然后正确加载下一个ImageView。

所有网络和位图操作都是使用AsyncTask完成的。我还使用了来自Singly API的RemoteImageCache API,效果非常好。

关于为什么ViewPager的滑动滞后的任何想法?

3 个答案:

答案 0 :(得分:4)

减速是由于ListView调用getView而不是必要的(在我的列表中每个项目超过3倍)。

根据此solution,ListView的宽度和高度必须为特定值,而不是wrap_content,否则getView()将被多次调用。

答案 1 :(得分:0)

这只是因为列表视图滚动与视图寻呼机滚动冲突..

如果你想知道这个只是设置列表视图可见性消失了不删除代码listView.setAdapter(adapter)然后尝试查看寻呼机将正确滑动。

答案 2 :(得分:0)

最近(2020年),必须实现一个ViewHolder类以提高速度,或者使用RecyclerView进行重构,这取决于列表的大小和执行此方法的时间,例如我的软件已经在生产阶段,我首选使用ViewHolder类,速度增益达到40%,对我来说足够了,如果您需要更高的速度,则必须使用RecyclerView(重构您的listview,编辑.xml,您的适配器,使用Linear或Grid布局管理器...)。