Stworzyłem aplikację, która wykorzystuje wiele obrazów na Androida.
Aplikacja działa raz, wypełnia informacje na ekranie ( Layouts
, Listviews
, Textviews
, ImageViews
, etc) i użytkownik odczytuje informacje.
Nie ma animacji, żadnych efektów specjalnych ani niczego, co mogłoby wypełnić pamięć. Czasami przedmioty do rysowania mogą się zmienić. Niektóre z nich to zasoby Androida, a niektóre to pliki zapisane w folderze na karcie SDCARD.
Następnie użytkownik kończy pracę ( onDestroy
metoda jest wykonywana, a aplikacja pozostaje w pamięci przez maszynę wirtualną), a następnie w pewnym momencie użytkownik wchodzi ponownie.
Za każdym razem, gdy użytkownik wchodzi do aplikacji, widzę, jak pamięć rośnie coraz bardziej, aż użytkownik otrzyma plik java.lang.OutOfMemoryError
.
Jaki jest więc najlepszy / prawidłowy sposób obsługi wielu obrazów?
Czy powinienem umieścić je w metodach statycznych, aby nie były ładowane przez cały czas? Czy muszę w specjalny sposób czyścić układ lub obrazy użyte w układzie?