gpt4 book ai didi

android - 从相机加载缩略图的最快方法

转载 作者:行者123 更新时间:2023-11-29 01:53:58 35 4
gpt4 key购买 nike

我正在尝试实现一个图库,并且我有一个 GridView,它显示相机文件夹中的所有图像(缩略图)。要获取缩略图,我基本上使用以下方法获取他们的 ID:

final String[] PROJECTION =
new String[] {MediaStore.Images.Media._ID};

Cursor pictureCursor = getActivity().getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI,
PROJECTION, null, null, MediaStore.Images.Media._ID);

ArrayList<Integer> ids = new ArrayList<Integer>();
int idIndex = pictureCursor.getColumnIndex(MediaStore.Images.Media._ID);

while (pictureCursor.moveToNext()) {

ids.add(pictureCursor.getInt(idIndex));
}

为了阅读缩略图,我正在使用

Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(content_resolver, ids.get(position), MediaStore.Images.Thumbnails.MICRO_KIND, null);

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html 中指定的 AsyncTask 上

但是当我比较我的应用程序与 Android 的原生图库应用程序之间的加载时间时,我发现图库应用程序加载缩略图的速度比我的应用程序快得多,同时图像质量也比我的 Thumbnails.MICRO_KIND 好.有没有比使用 MediaStore.Images.Thumbnails.getThumbnail() 函数更快的加载缩略图的方法?因为显然图库应用加载缩略图的速度要快得多。

注意:这是在应用程序最初打开时,在缓存发挥作用之前。在我的缓存存储图像后,加载时间几乎是即时的。所以,不是缓存问题。

编辑:我想我应该澄清一下。这并不是说我的 UI 被锁定或我的应用程序运行缓慢,因为我已经在使用 AsyncTask 从 UI 线程读取图像。我想问的是函数 MediaStore.Images.Thumbnails.getThumbnail() 是否是加载已存储在手机上的缩略图的最快方式?

最佳答案

使用Universal Image Loader它会处理您的问题,这些问题很可能源于您加载了错误的尺寸和/或没有缓存结果。

关于android - 从相机加载缩略图的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16347413/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com