0
我想顯示來自sdcard的的縮略圖gridview
。我使用的是universal image loader
,圖片加載需要合理的時間。如何在合理的時間從mediastore獲取縮略圖的路徑以在gridview中加載圖像?
我的問題是:試圖讓縮略圖的所有路徑花費太多的時間,並導致gridview滾動滯後。如果我嘗試閱讀加載圖像前的所有路徑,則需要10秒(S5上的500個圖像)。我看到很多應用程序已經解決了這個問題,似乎我在這裏犯了一些fundemantal錯誤,但我找不到它是什麼。
PS:我從stackoverflow的答案中得到了這段代碼,我認爲我的問題與代碼無關,但它與我對問題的處理方法有關。 這裏是代碼:
public static String getThumbnailPath(Activity activity, long imageId) {
String[] proj = { MediaStore.Images.Media.DATA };
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
CursorLoader cursorLoader = new CursorLoader(activity, uri, proj, null, null, null);
Cursor cursor = cursorLoader.loadInBackground();
cursor.moveToFirst();
String result="";
cursor = MediaStore.Images.Thumbnails.queryMiniThumbnail(activity.getContentResolver(), imageId,
MediaStore.Images.Thumbnails.MINI_KIND, null);
if (cursor != null && cursor.getCount() > 0) {
cursor.moveToFirst();
result = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails.DATA));
cursor.close();
}
result = "file://" + result;
return result;
}
使用分頁?即一次僅加載幾篇文章。不是所有的人。你可以谷歌如何做到這一點 – Darpan 2014-11-24 12:33:53
請張貼相關的源代碼。 – 2014-11-24 12:34:09
當他們需要顯示時,我只加載其中的一小部分,但當用戶滾動gridview時會導致滯後。 – user65721 2014-11-24 12:36:04