Подобен проблем с който не мога да се справя вече няколко дни.
Моите грешки:
Цитат:E/dalvikvm-heap﹕ Out of memory on a 635812-byte allocation.
и веднага след него:
Цитат:E/AndroidRuntime﹕ FATAL EXCEPTION: GLThread 642
java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502)
Появява се след направата на много снимки(60+) чрез камерата. Последва съобщение "За съжаление Галерията спря". Въпросната снимка при ерора е празна а след това успешно се правят нови 60+ снимки преди да се повтори същата грешка.
Първоначално пазех снимките във вътрешната памет. Реших да ги компресирам веднага след снимане и преди сейв.
Освен компресия, режа, кълцам и какво ли не друго снимката(орязвам я до 6kb, качеството става ужасно, но задоволява нужния резултат):
Код:
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
options.inPreferredConfig = Bitmap.Config.RGB_565;//ARGB_8888;
BitmapFactory.decodeStream(new FileInputStream(file), null, options);
// Decode with inSampleSize
final BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = 8;
final Bitmap bitmap = BitmapFactory.decodeStream(new FileInputStream(file), null, o2);
...
bitmap.compress(Bitmap.CompressFormat.JPEG, photoQuality, stream);
bitmap.recycle();
всичко това го дават като решение на този проблем, но при мен така и не се оправи.
Също така и увеличих хийпа в апп-а в манифеста(едно от многото предложения за решение на проблема):
Код:
android:largeHeap="true"
Също безуспешно.
Последно започнах да пазя снимките във външната памет.
Цитат:/storage/emulated/0/Android/data/МОЯ_АПП/files/Pictures/МОЯ_ПАПКА/МОЯТА_СНИМКА.jpg
Проблема не се оправи.
Отворен съм на всякакви предложения.