0

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

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

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

提前感谢您的任何想法

4

1 回答 1

0

来自相机的照片有几 MB 大。Android 应用程序最多有 24MB RAM 可用(请参阅Android 2.2 每个应用程序的最大内存限制是多少?

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

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

于 2013-01-15T13:53:35.123 回答