我正在使用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" />
谢谢!
答案 0 :(得分:0)
系统最有可能执行GC_FOR_ALLOC为您正在加载的位图分配内存。由于位图已经加载并缓存在内存中,因此可以平滑地向上滚动。
答案 1 :(得分:0)
我轻松解决了这个错误。你必须在getView()中抛出一个线程,并在该线程内部编写你拥有的代码。
试试这个,它有效!