我正在开发一款Android应用,必须在屏幕上显示一些照片(通常由手机的相机拍摄)。我创建位图的方式是:
Uri uri = Uri.withAppendedPath(Images.Media.EXTERNAL_CONTENT_URI, "" + mediaId);
bitmap = BitmapFactory.decodeStream(context.getContentResolver().openInputStream(uri));
第二行最终会出现一些带有OutOfMemoryException的手机。我做错了什么,或者有没有其他方法可以做同样的事情?
提前感谢任何想法
答案 0 :(得分:0)
相机拍摄的照片有几MB大。 Android应用程序最多可提供24MB RAM(请参阅What is the maximum memory limits per application for Android 2.2?)
因此,如果您的应用程序有多个来自相机的图像,则它将不适合您的应用程序可用的RAM。
缩小图像是我唯一害怕的解决方案......