如何快速的读取本地图片为Bitmap

最近做项目时读取本地图片发现会有一点点的卡顿现象,于是记录了一下图片的读取时间,

本次记录是读取图片10次的平均值,因只做了10次读取,可能数据不是太准确,

四种方法读取本地图片为bitmap:

1、Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.aaaa);

2、InputStream is = getResources().openRawResource(R.drawable.aaaa);  
      Bitmap bmp = BitmapFactory.decodeStream(is);

3、InputStream is = getResources().openRawResource(R.drawable.aaaa);
      BitmapDrawable  bmpDraw = new BitmapDrawable(is);
      Bitmap bmp = bmpDraw.getBitmap();

4、Drawable drawable = getResources().getDrawable(R.drawable.aaaa);
      BitmapDrawable bmpDraw = (BitmapDrawable) drawable;
      Bitmap bmp = bmpDraw .getBitmap();


经过读取发现第一种方法最慢在320ms左右,第二种和第三种耗时基本相同在250ms左右,第四种最快基本10ms以内,读取的图片为一张1280*720的360kb的图片。



你可能感兴趣的:(如何快速的读取本地图片为Bitmap)