最近做项目时读取本地图片发现会有一点点的卡顿现象,于是记录了一下图片的读取时间,
本次记录是读取图片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的图片。