位图缓存如何工作?
How does a bitmap cache work?
谁能解释一下这种方法和位图缓存的区别?他们不都只是将它加载到内存中吗?哪个效率更高?
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;
}
缓存(在本例中为位图缓存)用于避免再次创建位图,因此您可以加快速度。当您需要即时创建位图时,例如使用 Canvas 方法,确实需要它。
谁能解释一下这种方法和位图缓存的区别?他们不都只是将它加载到内存中吗?哪个效率更高?
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;
}
缓存(在本例中为位图缓存)用于避免再次创建位图,因此您可以加快速度。当您需要即时创建位图时,例如使用 Canvas 方法,确实需要它。