实际上我正在使用以下代码打开assets文件夹中的png文件:
public static Bitmap loadImage( String imageName ){
if( imageName.charAt(0) == '/' ) {
imageName = imageName.substring(1);
}
imageName = imageName + ".png";
Bitmap image = BitmapFactory.decodeStream(getResourceAsStream(imageName));
return image;
}
public static InputStream getResourceAsStream( String resourceName ) {
if( resourceName.charAt(0) == '/' ) {
resourceName = resourceName.substring(1);
}
InputStream is = null;
try {
is = context.getAssets().open( resourceName );
} catch (IOException e) {e.printStackTrace();}
return is;
}
此代码打开具有完整质量的位图,并且需要花费大量时间才能打开它。我将尝试使用RGB_565加速打开位图。
我应该如何更改我的代码以使用RGB_565打开位图?如您所见,我不知道图像的宽度和高度。
也欢迎任何加速打开位图的意外
由于
答案 0 :(得分:7)
将BitmapFactory.Options添加到decodeStream()
调用:
BitmapFactory.Options bitmapLoadingOptions = new BitmapFactory.Options();
bitmapLoadingOptions.inPreferredConfig = Bitmap.Config.RGB_565;
BitmapFactory.decodeStream(instream,null,bitmapLoadingOptions);
至于如何加快图片的加载速度?不知道你能做什么,除非可能缩小图像的大小。
答案 1 :(得分:0)
这段代码对我有用
AssetManager assetManager = getAssets();
InputStream istr = null;
try {
istr = assetManager.open(strName);
} catch (IOException e) {
e.printStackTrace();
}
BitmapFactory.Options bitmapLoadingOptions = new BitmapFactory.Options();
bitmapLoadingOptions.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap bitmap = BitmapFactory.decodeStream(istr,null,bitmapLoadingOptions);
return bitmap;