2015-02-05 60 views
1

有人可以解释像这样的方法和位图缓存之间的区别吗?难道他们都只是把它加载到内存中?哪一个更有效?位图缓存如何工作?

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; 
} 

回答

1

缓存(在这种情况下是位图缓存)用于避免再次创建位图,因此可以加快速度。当您需要使用Canvas方法实时创建位图时,它非常需要。