实际上,我正在使用以下代码打开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打开位图,我应该在代码中进行哪些更改?如你所见,我不知道图像的宽度和高度。
此外,欢迎任何加快位图打开速度的建议
谢谢
发布于 2012-02-29 21:15:45
将BitmapFactory.Options添加到decodeStream()调用:
BitmapFactory.Options bitmapLoadingOptions = new BitmapFactory.Options();
bitmapLoadingOptions.inPreferredConfig = Bitmap.Config.RGB_565;
BitmapFactory.decodeStream(instream,null,bitmapLoadingOptions);至于如何加快图像的加载速度?如果可能的话,我不确定你还能做什么,除了缩小图像的大小。
发布于 2015-06-18 17:04:06
这段代码对我很有效
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;https://stackoverflow.com/questions/9499699
复制相似问题