Posiadam Samsung Galaxy S3, który jest w stanie przechwycić pułapki wielkości ~ 3000 x 2000. I obecnie rozwijam aplikację, która wymaga przechwytywania obrazów. Używam mojego telefonu jako debuggera i ustawiam najlepszy możliwy rozmiar, jaki oferuje urządzenie dla przechwytywanego obrazu.Wywołanie polecenia Android onPictureTaken wyrzuca wyjątek z pamięci w Bitmap.decodeByteArray
Jeśli jednak skorzystam z tego ustawienia, wywołanie zwrotne onPictureTaken
podaje błąd braku pamięci w pierwszym wierszu w metodzie Bitmap.decodeByteArray
, w której próbuję zdekodować przechwycone bajty na bitmapę. Jeśli użyję Bitmap.Options.inSampleSize = 2
, nie wystąpi błąd braku pamięci.
Chcę, aby aplikacja była w stanie przechwycić to, co najlepsze, a urządzenie to robi we własnej aplikacji, ale nie mogę tego zrobić w moim. Nie rozumiem. Jak mogę rozwiązać ten problem?
Obraz może być zbyt duża, aby obsłużyć. Wyciek pamięci. – Raghunandan
To prawdopodobnie jest, ale dlaczego moja aplikacja nie może przechwytywać obrazów o rozmiarze, który najlepiej oferuje urządzenie. Sam urządzenie jest zdolne do robienia zdjęć we własnej aplikacji do aparatu, dlaczego nie mogę w moim? – rainbowunicorn
proszę napisać kod, aby społeczność mogła Ci pomóc. – Raghunandan