我正试图在gridview
中显示来自sdcard的图片缩略图。我正在使用universal image loader
,图片加载需要合理的时间。
我的问题是:尝试获取缩略图的所有路径需要花费太多时间并导致gridview滚动延迟。如果我尝试读取加载图像之前的所有路径,则需要10秒钟(S5上500张图像)。我看到很多应用程序已经解决了这个问题,似乎我在这里犯了一些有趣的错误,但我找不到它是什么。
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;
}
答案 0 :(得分:0)
看看Lucas Rocha的冰沙。它是一个用于快速滚动列表视图和网格视图的库项目。我在我的应用播放列表管理器中使用它。易于实施。