只有在第一次使用Picasso加载图像时,ListView才会延迟

时间:2014-03-03 00:39:56

标签: android listview picasso

我正在使用ViewHolder设置我的ListView,所以我确信它不是回收问题。

ListView只有在第一次加载图像时才会滞后,如果我向上滚动,一切都很顺利。

我简化的getView方法:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
...

    mPicasso.load(cData.get("url")).into(holder.imagePreviewView);

...
}

我的ImageView的XML:

 <ImageView
     android:id="@+id/imagePreview"
     android:layout_width="fill_parent"
     android:layout_height="@dimen/image_preview_height"
     android:scaleType="centerCrop"
     android:background="?attr/postPreviewBground" />

谢谢!

2 个答案:

答案 0 :(得分:0)

系统最有可能执行GC_FOR_ALLOC为您正在加载的位图分配内存。由于位图已经加载并缓存在内存中,因此可以平滑地向上滚动。

答案 1 :(得分:0)

我轻松解决了这个错误。你必须在getView()中抛出一个线程,并在该线程内部编写你拥有的代码。

试试这个,它有效!