Android:OutOfMemory同时调用BitmapFactory.decodeStream()

时间:2013-01-15 13:45:33

标签: java android memory bitmap

我正在开发一款Android应用,必须在屏幕上显示一些照片(通常由手机的相机拍摄)。我创建位图的方式是:

Uri uri = Uri.withAppendedPath(Images.Media.EXTERNAL_CONTENT_URI, "" + mediaId);
bitmap = BitmapFactory.decodeStream(context.getContentResolver().openInputStream(uri));

第二行最终会出现一些带有OutOfMemoryException的手机。我做错了什么,或者有没有其他方法可以做同样的事情?

提前感谢任何想法

1 个答案:

答案 0 :(得分:0)

相机拍摄的照片有几MB大。 Android应用程序最多可提供24MB RAM(请参阅What is the maximum memory limits per application for Android 2.2?

因此,如果您的应用程序有多个来自相机的图像,则它将不适合您的应用程序可用的RAM。

缩小图像是我唯一害怕的解决方案......