Я пытаюсь установить изображение в изображение в пользовательском диалоговом окне с возможностью рисования. У меня есть следующий методЛучший способ обработки OOME android
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
this.setCancelable(false);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
ViewGroup vg = (ViewGroup)inflater.inflate(R.layout.popup, null);
image= (ImageView) vg.findViewById(R.id.image);
Uri uri = Uri.parse("android.resource://"+this.getActivity().getPackageName()+"/drawable/p1");
image.setImageURI(uri);
.
.
return builder.create();
}
Он прекрасно работает большую часть времени, но вызывает из памяти на выделение хххх байт.
Я знаю, что это происходит из-за этого
image.setImageURI(uri);
Что это лучший способ, чтобы избавиться от этой проблемы ??
UPDATE ::
I tried to recycle the bitmap by using this
Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
if(!bitmap.isRecycled()){
bitmap.recycle();
bitmap =null;
}
Теперь если я получаю dialong с одного изображения последовательно у меня есть эта ошибка:
Canvas trying to use a recycled bitmap Runtime Exception.
Любая помощь ценится
Не могли бы вы сказать мне, если я хочу, чтобы масштабировать и применить изображение в диалоге эффективно ?? или указать мне на какой-то ресурс? Диалог вызывается многократно, и я не использую никаких статических переменных на экране для утечки контекста. Он просто выводит изображение, и этот OOME не всегда бывает. Редко –
Не обязательно этот диалог вызывает эту проблему. Это означает, что общее использование памяти вашим приложением слишком велико. Здесь просто не получилось. Вы не можете смотреть это диалоговое окно отдельно, вам нужно посмотреть на все использование памяти в приложении. –
Ну, пользовательский интерфейс активности - это кнопка и текстовое изображение, и вы получаете всплывающее окно. Изображение с рисующего изображения - 1280x720. Поэтому я думаю, что это вызывает ошибку. Но размер изображения составляет 150 кБ. Я уже достаточно расстроен с отладкой. Я очень ценю ваше терпение, отвечая на меня. –