Android HorizontalListView性能问题:每个子视图的调用都会膨胀

Android HorizontalListView性能问题:每个子视图的调用都会膨胀,android,listview,horizontallist,pulse,Android,Listview,Horizontallist,Pulse,我正在为我的应用程序制作一个类似Pulse的UI。为此,我使用了给定的horizontalistView类。但是,这个类有性能问题,并且有明显的滞后 为了证实这一点,我使用TraceView探查器对其进行了评估,发现该类没有完全重用视图,并为getView()中的每个调用调用调用inflate()方法 下面是我如何设计适配器的: public View getView(final int position, View convertView, ViewGroup parent) { fi

我正在为我的应用程序制作一个类似Pulse的UI。为此,我使用了给定的
horizontalistView
类。但是,这个类有性能问题,并且有明显的滞后

为了证实这一点,我使用
TraceView探查器对其进行了评估,发现该类没有完全重用视图,并为
getView()中的每个调用调用调用
inflate()
方法

下面是我如何设计适配器的:

public View getView(final int position, View convertView, ViewGroup parent) {
    final BaseAssets baseAsset = baseAssetsList.get(position);

    if (convertView == null) {
        viewHolder = new ViewHolder();
        convertView = inflater.inflate(R.layout.gallery_list_item, parent, false);
        viewHolder.newLabel = (ImageView) convertView.findViewById(R.id.iv_new);
        viewHolder.assetImage = (ImageView) convertView.findViewById(R.id.iv_thumbnail);
        convertView.setTag(viewHolder);

    } else
        viewHolder = (ViewHolder) convertView.getTag();
 }

class ViewHolder {
    ImageView newLabel;
    ImageView assetImage;
 }

我做错什么了吗?如果没有,请建议我改进性能的变通方法。可能是您曾经尝试过的其他库,或者以任何方式重用我当前库中的视图。谢谢

似乎您从未调用过
convertView.setTag(viewHolder)convertView
为空,则为code>。如果不先将其设置为标记,则无法检索视图保持架

编辑:

除了您的代码看起来不错之外,我的最佳猜测是问题在于
horizontalistView
的实现


我查看了它的源代码(HorizontalListView.java),如果您可以对源代码进行实验,请尝试在调用
mAdapter.getView
之前检查
mRemovedViewQueue
是否为空。如果为空,则无法正确处理回收。

我真的很抱歉。我删除了那一行只是为了简化我的代码。在我的实际代码中,它就在那里。抱歉搞混了!更新了我的答案。不过我怀疑这会有帮助。抱歉,哈哈诺问题……不过我会试试的!你是学生吗?目前,是的,我是。