有人可以解释这样的方法和位图缓存之间的区别吗?他们俩都把它装进记忆中了吗?哪一个更有效率?
public static Bitmap loadBitmap(String filename, boolean transparency) {
InputStream inputStream = null;
try {
inputStream = GameMainActivity.assets.open(filename);
} catch (IOException e) {
e.printStackTrace();
}
Options options = new Options();
if (transparency) {
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
} else {
options.inPreferredConfig = Bitmap.Config.RGB_565;
}
Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null,
options);
return bitmap;
}
答案 0 :(得分:1)
缓存(在本例中为位图缓存)用于避免再次创建位图,因此您可以加快速度。当您需要动态创建位图时,例如使用Canvas方法,确实需要它。