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

Error java.lang.OutOfMemoryError.

碰巧在我的智能手机上(三星Galaxy SII,SIII Galaxy)就在所有货架上.

现在我通过降低照片的质量和尺寸来手动解决,但是,随着分辨率越来越高的相机的发展,这个问题可能会更频繁地出现.

是否没有永久的解决方案来增加分配给我的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);

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐