Изображение камеры вызывает OutOfMemory в сборке Android
В моем приложении я использую функцию камеры, но когда я нажал на фотографию, используя 5-мегапиксельную камеру устройства, а затем использовал ее в своей сборке, то при создании возникла ошибка OutOfMemoryError, как я могу это предотвратить. Когда нажата кнопка "Рис" и нажата кнопка "ОК", я использую приведенный ниже код, чтобы добавить его в свое приложение.
case TAKE_P:
if (resultCode == Activity.RESULT_OK)
{
Uri selectedImage = imageUri;
getContentResolver().notifyChange(selectedImage, null);
// ImageView imageView = (ImageView)
// findViewById(R.id.ImageView);
ContentResolver cr = getContentResolver();
Bitmap bitmap;
try {
yourselectedimage = android.provider.MediaStore.Images.Media
.getBitmap(cr, selectedImage);
Bitmap newBitmap = Bitmap.createScaledBitmap(
yourselectedimage, width1, height1, true);
drawabledata = new BitmapDrawable(newBitmap);
ll.setVisibility(View.GONE);
//gallery.setImageResource(R.drawable.imagegallery);
galleryisclicked = true;
if (mCanvasView != null)
clearcanvas();
fillmenu();
// imageView.setImageBitmap(bitmap);
// Toast.makeText(this, selectedImage.toString(),
// Toast.LENGTH_LONG).show();
}
catch (OutOfMemoryError e) {
Log.i("#############", "###############");
Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
System.gc();
System.gc();
};
}, 1000);
Toast.makeText(this, "Out of Memory", Toast.LENGTH_SHORT)
.show();
}catch (Exception e) {
Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
System.gc();
System.gc();
};
}, 1000);
Toast.makeText(this, "Reload again", Toast.LENGTH_SHORT)
.show();
Log.e("Camera", e.toString());
}
}