Witam,
Piszę właśnie odtwarzacz muzyki na androida i mam pewien problem z pobraniem okładek płyt. Kiedy pobieram same albumy to jest ok okładki się szybko wczytują lista ładnie się wypełnia. Poszedłem dalej chciałem pobrać wszystkie piosenki które mam na karcie. Też się pobierają szybko kiedy nie pobieram do nich okładek ale kiedy już pobieram piosenki i chce do nich okładki to trwa to dość długo.

final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
final String selection = MediaStore.Audio.Media.IS_MUSIC + "!=0";
final String sortOrder = MediaStore.Audio.Media.TITLE + " ASC";
public void getAllTracks() {
        ArrayList<Track> songs = new ArrayList<>();
        ContentResolver contentResolver = mMainActivityView.getContentResolver();
        Cursor cursor = contentResolver.query(uri, null, selection, null, sortOrder);

        if (cursor != null && cursor.getCount() > 0) {
            while (cursor.moveToNext()) {
                String AlbumId = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));
                String data = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
                String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
                String album = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));
                String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
                String path = "";
                Cursor cursor2 = mMainActivityView.managedQuery(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
                        new String[] {MediaStore.Audio.Albums._ID, MediaStore.Audio.Albums.ALBUM_ART},
                        MediaStore.Audio.Albums._ID+ "=?",
                        new String[] {String.valueOf(AlbumId)},
                        null);

                if (cursor2 != null && cursor2.getCount() > 0&& cursor2.moveToFirst()) {
                     path = cursor2.getString(cursor2.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ART));
                    // do whatever you need to do
                }
                songs.add(new Track(title,album,artist,path));
                cursor2.close();
            }
        }
        cursor.close();
        mMainActivityView.showAllTracks(songs);

    }