增加分配给应用程序的内存

我尝试显示相机拍摄的图像并将其显示在应用程序中。 当我采取低分辨率的图像(比如说100kB大小)时,切换到位图显示时没有问题,当我以高分辨率(1.5MB)进行切换时,应用程序崩溃

Error java.lang.OutOfMemoryError. 

它正好在我的智能手机上(三星Galaxy SII,SIII Galaxy)在所有货架上。 现在,我通过降低照片的质量和尺寸来手动解决问题,但鉴于摄像机的分辨率日益提高,这个问题可能会更频繁地出现。 是否没有一个永久性的解决scheme来增加分配给我的应用程序的Android的内存没有手动干预的设备和代码?

图像以位图格式存储

  //image creation Uri domuri1 ContentValues cv = new ContentValues(); cv.remove("101"); domuri1 = getContentResolver().insert(Media.EXTERNAL_CONTENT _URI, cv); File domthumb1 = new File(domuri1.toString(), fileName1); //increment photo apparate Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT, domuri1); startActivityForResult(intent, 100); //images save ContentResolver cr = getContentResolver(); bitmap1 = MediaStore.Images.Media.getBitmap(cr, domuri1 ); imageView.setImageBitmap(bitmap1); 

Solutions Collecting From Web of "增加分配给应用程序的内存"

普通应用程序的默认内存值是16MB,您可以在applicattion标记内的最常见的文件中使用android:largeHeap="true" (这可能会增加内存高达64MB)。 您可以通过ActivityManager.getMemoryClass()和ActivityManager.getLargeMemoryClass()获取分配给您的内存值。

即使你问largeHeap的android只会分配更多的内存,如果在你所有的应用程序需要它。