列表视图的滑动速度变慢,ViewPager滑动速度变慢

问题描述 投票:3回答:3

我有一个ViewPager,其中包含从网上下载的ImageViews,当我的ListView(在另一个单独的布局中)没有被初始化时,它滑动得很好。

但是当我的ListView被创建时,问题就开始了。ViewPager仍然在 "滑动",但只滑动了14个左右,滞后,然后正确加载下一个ImageView。

所有的网络和位图操作都是使用AsyncTask完成的。我还使用了远程ImageCache API从 单一的API 的效果相当好。

有什么想法,为什么ViewPager的滑动会滞后?

android performance android-listview android-viewpager
3个回答
4
投票

慢下来的原因是ListView调用getView的次数超过了必要的次数(在我的列表中每个项目超过了3次)。

根据这个 解决办法列表视图的宽度和高度必须被赋予特定的值,而不能是 wrap_content 否则 getView() 会被多次调用。


0
投票

这只是因为列表视图的滚动与视图分页的滚动有冲突。

如果你想知道这一点,只需设置列表视图可见性消失,不要删除代码。listView.setAdapter(adapter) 然后尝试视图分页器会正常滑动。


0
投票

最近(2020年),必须要实现一个ViewHolder类来获得速度,或者,用RecyclerView重构,这取决于你的列表大小和你执行这些方法的时间,就像我的软件已经是生产阶段,我更喜欢使用ViewHolder类,速度增加了40%,对我来说足够了,如果你需要更多的速度,必须要使用RecyclerView(重构你的列表视图,编辑.xml,你的适配器,使用线性或网格布局管理器......)。

© www.soinside.com 2019 - 2024. All rights reserved.