Le défilement à travers ListView avec quelques images très lag

J'ai l'écran ci-dessous qui contient certaines images (6 par page visible). Faire défiler vers le haut et vers le bas semble assez lag pour moi. C'est comme il est rendu à nouveau les images. Défiler jusqu'semble pire que le défilement vers le bas.

Ce que quelqu'un sait comment augmenter les performances dans une zone pour créer un joli bon de défilement?

Mise à jour: Les images et tout le texte est extrait de ma base de données SQLite. La liste est créée à l'aide de SimpleCursorAdapter.

Le défilement à travers ListView avec quelques images très lag

private class HistoryViewBinder implements SimpleCursorAdapter.ViewBinder 
{
//private int wallpaperNumberIndex;
private int timeIndex;
private int categoryIndex;
private int imageIndex;
private java.text.DateFormat dateFormat;
private java.text.DateFormat timeFormat;
private Date d = new Date();
public HistoryViewBinder(Context context, Cursor cursor) 
{
dateFormat = android.text.format.DateFormat.getDateFormat(context);
timeFormat = android.text.format.DateFormat.getTimeFormat(context);
//wallpaperNumberIndex = cursor.getColumnIndexOrThrow(HistoryDatabase.KEY_WALLPAPER_NUMBER);
timeIndex = cursor.getColumnIndexOrThrow(HistoryDatabase.KEY_TIME);
categoryIndex = cursor.getColumnIndexOrThrow(HistoryDatabase.KEY_CATEGORY);
imageIndex = cursor.getColumnIndexOrThrow(HistoryDatabase.KEY_IMAGE);
}
@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex) 
{
Log.d(TAG, "setViewValue");
if (view instanceof TextView)
{
Log.d(TAG, "TextView");
TextView tv = (TextView) view;
if (columnIndex == timeIndex)
{
Log.d(TAG, "timeIndex");
d.setTime(cursor.getLong(columnIndex));
tv.setText(timeFormat.format(d) + "  " + dateFormat.format(d));
return true;
}
else if (columnIndex == categoryIndex)
{
Log.d(TAG, "categoryIndex");
tv.setText(cursor.getString(columnIndex));
return true;
}
}
else if (view instanceof ImageView)
{
Log.d(TAG, "ImageView");
ImageView iv = (ImageView) view;
if (columnIndex == imageIndex)
{
Log.d(TAG, "imageIndex");
byte[] image = cursor.getBlob(columnIndex);
Bitmap bitmapImage = BitmapFactory.decodeByteArray(image, 0, image.length);
iv.setImageBitmap(bitmapImage);
return true;
}
}
return false;
}
}
Je m'aiderait beaucoup si vous pouviez poster le code de votre méthode getView qui crée la liste unique des éléments.
Je n'utilise pas getView. J'utilise SimpleCursorAdapter pour créer ce point de vue.
Pouvez-vous puis après la création de la SimpleCursorAdapter et si vous étendez le curseur de l'adaptateur de la bindView méthode?
J'ai posté le SimpleCursorAdapter classe.

OriginalL'auteur mlevit | 2010-09-06