我有一个包含大量图像的列表视图
我尝试了 3 种不同的惰性加载器来显示图像
我已禁用加载 onScrollState!=IDLE
滚动开始时我取消了加载任务
然而,每次我滚动时 - 几乎在每张图像之后,日志都会显示列表类型的跳跃,垃圾收集器正在收集一些东西
09-12 16:08:20.093: D/dalvikvm(15748): GC_EXTERNAL_ALLOC freed 401K, 54% free 3856K/8327K, external 12043K/12209K, paused 33ms
奇怪的是 - 如果我一起禁用图像加载,并且不显示任何布局
垃圾收集器仍在工作......
是什么导致垃圾收集器如此努力地工作?
这是我的布局
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/photo1"
android:layout_width="match_parent"
android:layout_height="140dp"
android:layout_gravity="center"
android:scaleType="centerCrop" />
这是我的getView
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder vh;
if(convertView == null){
vh = new ViewHolder();
convertView = (ImageView) layoutInflater.inflate(R.layout.photo,parent,false);
vh.iv = convertView;
convertView.setTag(vh);
}else {
vh = (ImageView) convertView.getTag();
Log.i(TAG,"displaying old view: "+position);
}
lazyLoader.load(images[position],vh.iv);
return convertView;
}
}
这是日志输出