Android 列表视图滚动平滑度

Android 列表视图滚动平滑度,android,android-listview,android-listfragment,Android,Android Listview,Android Listfragment,我有一个功能齐全的列表视图(在列表片段)和一个自定义的阵列适配器。 适配器的布局包括一个图像视图、一个按钮、一个网格视图和两个文本视图 问题是listview在滚动时非常不稳定。我已经实现了ViewHolder模式,它稍微提高了性能。 GridView由联系人图像组成,我正在AsyncTask中检索这些图像,并使用应用程序缓存显示位图。 我还可以做些什么来使这个listview滚动平滑? 我在适配器的getView方法中使用了视图循环,如下所示 public View getView(int p

我有一个功能齐全的
列表视图
(在
列表片段
)和一个自定义的
阵列适配器
。 适配器的布局包括一个
图像视图
、一个
按钮
、一个
网格视图
和两个
文本视图

问题是listview在滚动时非常不稳定。我已经实现了
ViewHolder
模式,它稍微提高了性能。
GridView
由联系人图像组成,我正在
AsyncTask
中检索这些图像,并使用应用程序缓存显示位图。 我还可以做些什么来使这个
listview
滚动平滑?
我在适配器的
getView
方法中使用了视图循环,如下所示

public View getView(int position, View convertView, ViewGroup parent) {
    View myView;
    holder = new ViewHolder();
    if (convertView == null) {
        inflater = (LayoutInflater) getContext().getSystemService(
                                  Context.LAYOUT_INFLATER_SERVICE);
        myView = inflater.inflate(R.layout.events_list_activity, parent, false);
    }
    else {
        myView = convertView;
    }
}
这个问题可能解释了列表视图的紧张行为

如果你想提高滚动速度,试试这个

getListView().setFastScrollEnabled(true);

它将给你从你的布局顶部滚动,也会给你平滑的滚动体验

mainScrollView=(ScrollView)findViewById(R.id.scrollview);
mainScrollView.smoothScrollTo(0, 0);
mainScrollView.fullScroll(mainScrollView.FOCUS_UP);

1.展平ViewItem层次结构并使用合并标记

2.实现ViewHolder模式,或使用androidannotation的注入功能


3.在另一个线程中执行heavyload。

不,这没有帮助,因为我已经处理了所有这些。我的适配器上没有任何繁重的操作。另外,
setFastScrollEnabled
不是解决方案,因为滚动时listView仍然会抖动。是的,但我的问题与
listView
有关,
scrollview
将如何发挥作用?您是否正确地回收了
列表视图
中每个项目中使用的
视图
?您的
列表视图
的每一行中都有一个
网格视图
?如果是这样的话,那么我的下一个猜测是滚动的触摸动作被委托给了
GridView
子对象,这使它变得紧张不安。尝试关闭所有
GridView
s的触摸操作,看看是否有帮助,然后尝试删除所有
GridView
s,看看问题是否消失。如果没有太多的代码,我们所能做的就是猜测;)