从Android2.2开始系统新增了一个缩略图ThumbnailUtils类,位于framework的android.media.ThumbnailUtils位置,可以帮助我们从mediaprovider中获取系统中的视频或图片文件的缩略图,该类提供了三种静态方法可以直接调用获取。
1.
static
Bitmap
createVideoThumbnail(String
filePath,
int
kind)
//获取视频文件的缩略图,第一个参数为视频文件的位置,比如/sdcard/android123.3gp,而第二个参数可以为MINI_KIND或MICRO_KIND最终和分辨率有关
2.
static
Bitmap
extractThumbnail(Bitmap
source,
int
width,
int
height,
int
options)
//直接对Bitmap进行缩略操作,最后一个参数定义为OPTIONS_RECYCLE_INPUT,来回收资源
3.
static
Bitmap
extractThumbnail(Bitmap
source,
int
width,
int
height)
//
这个和上面的方法一样,无options选项
ThumbnailUtils类是API
Level从8或更高才开始支持的。
Android缩略图类源代码
Android
2.2开始新增的缩略图类ThumbnailUtils的主要方法是静态的,对于Android
2.2或API
Level8以下的工程可以直接使用,本类相对于我们常规的缩略图类考虑更周全,除了尺寸比例优化外,针对OOM的内存管理方面有更周全的处理方式.