位图缓存如何工作?

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 方法,确实需要它。