У меня большая проблема с функцией выбора картинки в телефоне галереи! Я выбрал фотографию, я получил URI, и когда я прочитал поток в «onActivityResult» для помещения потока в растровое изображение, у меня возникла ошибка «outoffmemoryerror».
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Uri uri = data.getData();
InputStream is = getContentResolver().openInputStream(mSelectedUri);
Bitmap bitmap = BitmapFactory.decodeStream(is);
}
Я пробовал другой код, но у меня такая же проблема. Ну как по картинке!
Я нашел это: http://developer.android.com/training/displaying-bitmaps/index.html А также http://developer.android.com/training/displaying-bitmaps/load -bitmap.html
Со следующим: «Чтобы избежать исключений java.lang.OutOfMemory, проверьте размеры растрового изображения перед его декодированием, если только вы не полностью доверяете источнику предоставить вам данные изображения предсказуемого размера, которые удобно помещаются в доступной памяти».
1 ответ
Иногда изображения слишком велики для растровых изображений, поэтому способ получить Растровое изображение - уменьшить изображение. Этот сайт является хорошим примером, и он мне очень понравился.
http://twigstechtips.blogspot.com/2011/10/android-resize-bitmap-image- while.html
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.