2

我正在开发一个需要加载大量图像(png)的 Android 游戏应用程序。我使用 BitmapFactory.decodeStream 加载图像:

BitmapFactory.Options opt = new BitmapFactory.Options(); 
opt.inScaled = false; 
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;     
Bitmap bitmap = BitmapFactory.decodeStream(context.getResources().openRawResource(context.getRes‌​ources().getIdentifier(filenames.get(i),"drawable",context.getPackageName())),nul‌​l,opt);

它在三星 S1 i9000(Android 2.3.3) 上运行良好。但是当我在三星 S2 i9100(Android 4.1.2)上测试它时,它会在我加载图像时崩溃。

我启动 DDMS 来检查堆并发现了一些奇怪的东西。当 S2 分配超过 43.280mb 时,似乎 S1 只为我的应用程序分配了 5.494mb!

如果有人能告诉我为什么这两款手机之间存在如此大的差异,我将不胜感激。

截图图片

4

0 回答 0