Chciałbym poznać podstawowe rzeczy:Jak skutecznie używać zmiennych statycznych?
Pracuję nad aplikacją na Androida, która prowadzi mnie do zagadnień związanych z zarządzaniem pamięcią. Niedawno oglądałem film związany z zarządzaniem pamięcią przez google Stwierdziłem, że używanie zmiennej statycznej w działaniu powoduje wycieki pamięci nawet w orientacyjnej zmianie aktywności, ponieważ utrzymuje odniesienia do innych obiektów w działaniu, Człowiek w filmie powiedział, że przy użyciu statycznego obiektu zmienna za pomocą metody statycznej rozwiąże problem, lubię wiedzieć, jak statyczna metoda rozwiąże problem?
Chciałbym poznać najlepszy sposób użycia zmiennej statycznej w mojej aplikacji, na przykład mam globalną klasę, w której przechowuje się pewne zmienne statyczne, ponieważ jej nazwa wskazuje, że te wartości będą oceniane i modyfikowane przez różne działania, Jako przykładem mam statycznej zmiennej szerokości, a obecnie zaktualizować go jak ten
Global.WIDTH = 12
lub otrzymać go jak int width = Global.WIDTH
z różnych aktywnosci, jest to właściwa metoda, czy muszę używać statycznego metoda do zdobycia szerokość jak int width = Global.getWidth();
, to jaka jest różnica między obu tych, co jest najlepszym sposobem, aby to zrobić,
jakie są inne ważne rzeczy, musimy pamiętać, gdy mamy do czynienia ze zmiennych statycznych?
Dziękuję wszystkim i przepraszam za długiego opisu ...
Użyj słowa "static", gdy pole/metoda musi należeć do klasy, a nie do żadnego odwołania do obiektu. Jeśli użyjesz go w 'Activity's, poleciłbym użyć' static finał', aby zadeklarować pole jako stałą zamiast mieć zwykłe dzikie 'static' pole tam. –
Dziękuję za szybką odpowiedź. Nie mogę zadeklarować jej jako ostatecznej, ponieważ jej wartość zmieni się zgodnie z urządzeniem opartym na obliczeniu. –
Możesz zadeklarować je jako 'static final' i zdefiniować wartości w metodzie' static {} '. Zauważ, że te wartości, nawet jeśli są * dynamiczne *, * powinny * być ładowane tylko raz w uruchomieniu aplikacji, a nie w dowolnym momencie aplikacji. Jeśli chcesz mieć inną szerokość i wysokość do wizualizacji krajobrazu, dodaj dwa dodatkowe pola zamiast przeliczać wartości. –