SETUP:Pamięci i Działania :: OutOfMemory
mam to aplikacja, która ma 4 działalność na torze liniowym, naprawdę prosta nawigacja: A -> B -> C -> D
Wszystko czynności mają ten sam obraz tła, a wszystkie mają kilka zwykłych przycisków, widok tekstowy lub editekst. Wszystkie są zdefiniowane w osobnych plikach xml widoku.
Tło jest gradientem i jest dość ciężkie. Około 3 MB jako nieskompresowana bitmapa.
Aplikacja ma jeszcze nic, tylko logika w tym, to na rozpoczęcie działalności i zamykając je na przycisk kliknie
Próbowałem użyć MAT znaleźć przeciek pamięci, ale nie mógł znaleźć niczego. Największy zachowany rozmiar w mojej aplikacji wynosi 656 (ko?), A całkowity zachowany rozmiar dla aplikacji to 1520 (ko?) I nie mogę znaleźć żadnego obiektu, który mógłby zostać zduplikowany. który na drodze całkowicie sprzeczne dumpsys który pokazuje 27300 (? Ko) przeznaczono
problemy:
- Kiedy nawigacja UP, widzę wzrost o równowartość zużycia pamięci do rozmiaru tła.
- Gdy nawiguję w DÓŁ, zamykając czynności za pomocą przycisku Wstecz lub polecenia Zakończ, zużycie pamięci przez aplikację nie spada.
- Jeśli przejdę z A do D, a następnie z powrotem do B i obrócę ekran, siła aplikacji zostanie zamknięta z wyjątkiem OutOfMemory Exception.
PYTANIA:
Aktualizacja: Myślę, że prawdziwe pytanie brzmi: dlaczego mam ogromny wyciek pamięci (5 mega na raz) o wielkości 27megs aplikacji w czasie zamrożenia i nie mogę zobacz to w MAT?
- Dlaczego system Android miałby rozpakować wiele razy to samo tło, raz na aktywność? Wydaje się nieskuteczne.
- Czy można przezwyciężyć ten problem za pomocą motywów, czy też zobaczę to samo "przydzielić 1 tło według aktywności"?
- Dlaczego działania nie są odzyskiwane po zamknięciu?
- Dlaczego MAT i dumpsys prezentują różne liczby?
CLUES
dokładnie w tym samym czasie mam: dumpsys meminfo:
Applications Memory Usage (kB):
Uptime: 74006853 Realtime: 110962243
** MEMINFO in pid 22683 [com.kayenko.sosadresse] **
native dalvik other total
size: 20820 5767 N/A 26587
allocated: 18751 2901 N/A 21652
free: 312 2866 N/A 3178
(Pss): 1357 201 16782 18340
(shared dirty): 2264 1804 5456 9524
(priv dirty): 1280 116 16032 17428
Objects
Views: 0 ViewRoots: 0
AppContexts: 0 Activities: 0
Assets: 2 AssetManagers: 2
Local Binders: 18 Proxy Binders: 16
Death Recipients: 1
OpenSSL Sockets: 0
SQL
heap: 0 MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
A to drzewo dominator:
Thansk każdemu z wskazówka, kim jestem przypuszczam, aby szukać.
Dzięki Xavi, było to bardzo pouczające. Widziałem już linki, które mi dałeś, ale nic nie pomogło niestety. Nie wiedziałem o trybie uruchamiania i muszę przyznać, że nie rozumiałem, co ma robić. Chyba będę musiał to przetestować, ponieważ dokumentacja jest jak zwykle "brakująca" :) – Yahel
Zaznaczę twoją odpowiedź jako odpowiedź, ponieważ dałeś mi 3 odpowiedzi z 4: D – Yahel