Android ListView: jak uniknąć zapytania do bazy danych w bindView ()? Musisz pobrać od jednej do wielu danych relacji

Mam widok listy do wyświetlania albumów. W każdym elemencie listy albumów muszę wyświetlić niektóre informacje z każdego zdjęcia w tym albumie. Oto jak wygląda moja ładowarka kursora:

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    return new CursorLoader(this, AlbumsColumns.CONTENT_URI, null, null, null, null);
}

@Override
public void bindView(View view, Context context, Cursor cursor) {

    long albumId = cursor.getLong(cursor.getColumnIndex(AlbumsColumns._ID));

    Cursor photoCursor = getContentResolver().query(PhotosColumns.CONTENT_URI, null, PhotosColumns.ALBUM_ID + " = ?", 
            new String[]{Long.toString(albumId)}, null);

    if (photoCursor.moveToFirst()){
        do{

            // Here I collect the information from each photo in the album

        }while(photoCursor.moveToNext());
    }

    photoCursor.close();
}

Zasadniczo pozwalam programowi ładującemu kursor zarządzać zapytaniem o album, a za każdym razem w bindView sprawdzam zdjęcia z przekazanego kursora albumu. Myślę, że może to być problem z wydajnością. Czy jest lepszy sposób na zrobienie tego?

questionAnswers(1)

yourAnswerToTheQuestion