2

我注意到 android 管理缩略图的不同行为。这是我的代码:

String[] sProjection = new String[]{MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
MediaStore.Images.Media.DISPLAY_NAME,MediaStore.Images.Media.DATA,
MediaStore.Images.Media._ID};

Cursor oCur = oActivity.getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
    sProjection,"",null,MediaStore.Images.Media.BUCKET_DISPLAY_NAME);

do{

...

Bitmap oBmp = MediaStore.Images.Thumbnails.getThumbnail(oActivity.getContentResolver(),bmpID,
MediaStore.Images.Thumbnails.MICRO_KIND,null);

...

}while (oCur.moveToNext());

然后在加载所有缩略图之后,我对其中的一些进行了一些阐述。

使用我的手机(Android 4.1.2)在第一次加载所有缩略图后(例如使用新照片或在媒体存储中清理缓存后),“do while”循环非常快,因为所有缩略图都已创建并保存在缓存。

每次执行循环时使用另一个(相同的 Android 版本)并没有提高速度,因为它不会保存它们,而是重新计算它们(在 Eclipse LogCat 中查看消息)。

为什么会这样?!有没有办法解决这个问题并强制 Android 在缓存中保存缩略图?

非常感谢您的帮助,非常感谢任何建议。

4

0 回答 0