滚动时出现滞后问题和列表项之间的空间问题。如果有人能给我提示我的代码有什么问题,我会非常高兴。
当我的应用程序启动时,我从我的服务器下载所有缩略图并像这样保存它们:
FileOutputStream fos = openFileOutput(uniqueName, Context.MODE_PRIVATE);
fos.write(bytes);
fos.close();
所有图像均为 100 像素 x 75 像素
项目清单:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/pic"
android:layout_width="100dp"
android:layout_height="75dp">
</ImageView>
</RelativeLayout>
然后我使用 asyncTask 加载图像,如下所示:
private Drawable d;
@Override
protected Integer doInBackground(String... arg0) {
File filePath = ctx.getFileStreamPath(fileName);
if (filePath.exists()) {
d = Drawable.createFromPath(filePath.toString());
return 1;
}
return 0;
}
@Override
protected void onPostExecute(Integer success) {
if (success == 1) {
listener.onCacheThumbCompleted(d);
}
}
最后将图片添加到listItem中的imageView中:
public void onCacheThumbCompleted(Drawable drawable) {
iv.setImageDrawable(drawable);
}
但是滚动的时候一点都不流畅。此外,图像似乎没有完全填充 imageView。即使我将 dividerHeight 设置为 0,它也是 listItems 之间的一个空格。 同样的问题,他通过调整图像大小解决了这个问题,但我需要调整图像大小/缩放图像来解决我的问题吗?