Android-Listview暂停片刻,尽管没有新的通货膨胀发生

Android-Listview暂停片刻,尽管没有新的通货膨胀发生,android,android-listview,android-view,Android,Android Listview,Android View,我有一个自定义行的列表视图。有大约15排。 每次对行进行充气时,我都会将它们保存到Hashmap中,这样就不必再次充气。我的行数有限,所以我想我可以保存地图中的所有行。下次请求同一行时,我只需从Hashmap中拉出视图并返回它 所以,第一次滚动到底部时,它会结巴,这是可以理解的。 但问题是,即使在所有视图都放入Hashmap之后,如果我快速滑动,从上到下或从下到上滚动,它会平滑地滚动到几乎80%的距离,然后暂停片刻,然后继续滚动,最后稳定下来。剩余的20%也会在暂停后平滑滚动 我将日志放在pub

我有一个自定义行的列表视图。有大约15排。 每次对行进行充气时,我都会将它们保存到Hashmap中,这样就不必再次充气。我的行数有限,所以我想我可以保存地图中的所有行。下次请求同一行时,我只需从Hashmap中拉出视图并返回它

所以,第一次滚动到底部时,它会结巴,这是可以理解的。 但问题是,即使在所有视图都放入Hashmap之后,如果我快速滑动,从上到下或从下到上滚动,它会平滑地滚动到几乎80%的距离,然后暂停片刻,然后继续滚动,最后稳定下来。剩余的20%也会在暂停后平滑滚动

我将日志放在public View getViewint位置、View convertView、ViewGroup父函数中,并确保在初始滚动到底部后不会再次发生通货膨胀

我也试过了 mListView.setDrawingCacheEnabledfalse; mListView.setScrolingCacheEnabledFalse

但这没有用。我仍然能看到停顿。 有人能帮我解决这个问题吗

谢谢,
Androbean.

我已经解决了这个问题。 然而,真正的问题与我所看到的行为没有直接关系

我像这样从PackageManager加载图像。 Drawable Drawable=packageManager.getDrawableinfo.provider.getPackageName,info.previewImage,null

这似乎取决于设备密度一些自动缩放已经发生,我得到了一些不合理的大图像。一旦我开始缩小它们并开始使用适当大小的图像,问题就消失了


我仍然想知道为什么滚动会平滑到80%,然后暂停,然后再平滑到下一个20%。

为什么会这样长?这毫无意义。Listview基本上完成了您想要做的事情。它膨胀了足够多的视图以填满屏幕,然后在滚动时重用旧视图,因此它不必膨胀超过屏幕所能显示的视图。@Kasper我理解你的意思。我这样做的原因是因为我的案例中的每一行都有一个具有可变项目数的水平滚动视图。此外,加载这些项也很繁重,因此在这种特定情况下,重新使用行并不是一个好主意。