Jestem nowy na platformie Android i jest to prawdopodobnie głupie pytanie, ale ...
Jak zamknąć aplikację?
Kiedy jestem w aplikacji i chcę się wydostać, po prostu klikam „Strona główna” i przechodzę dalej, ale właśnie zainstalowałem aplikację Task Manager i zauważyłem, że wszystko pozostało uruchomione.
Czy istnieje sposób na zamknięcie aplikacji? Czy też muszę używać Menedżera zadań za każdym razem, gdy coś wychodzę?
applications
ale
źródło
źródło
Odpowiedzi:
Jeśli wyjdziesz z aplikacji za pomocą BACKprzycisku, wywoła
onDestroy()
ona bieżącą Aktywność, Jeśli naciśniesz HOMEtylko wywołaniaonPause()
Nie martw się zbytnio, Aktywności nie wyczerpują baterii, są tylko w pamięci, więc można je otworzyć szybciej w przyszłości.
Nie polecałbym używania jednej z tych aplikacji do zabijania zadań Android zaprojektowano tak, aby zachowywał to w pamięci z jakiegoś powodu, używanie zabójcy zadań to tylko jedna dodatkowa usługa szarpiąca baterię. To, na co musisz uważać, to aplikacje uruchamiające usługi w tle, takie jak Twitter lub klienci poczty e-mail pobierający serwery, każda dobra aplikacja, która ma taką usługę, będzie mogła ją wyłączyć.
źródło
Jestem pewien, że wszystko, co kiedykolwiek czytałem, mówi, że Backprzycisk to właściwy sposób na wyjście z aplikacji.
Naciśnięcie powoduje, Homeże działają one w tle, dopóki Android nie zdecyduje, że nie są już potrzebne, co może być przydatne, jeśli potrzebujesz tylko przełączać się między aplikacjami, aby coś sprawdzić (przytrzymanie Home przez kilka sekund daje listę ostatnio uruchomionych aplikacji możesz przełączyć z powrotem na większość telefonów), ale wyjście za pomocą przycisku Wstecz informuje aplikację, że chcesz ją zamknąć.
źródło
Home
przycisk, wyświetl listę 6 ostatnio otwartych aplikacji, a nie uruchomioną.Niektóre aplikacje mają opcję „Wyjdź” w menu. Większość nie.
Naprawdę nie musisz się tym martwić. Możesz po prostu przejść do następnej aplikacji. Android wykonuje całkiem niezłą robotę, uwalniając zasoby w razie potrzeby.
Aktualizacja : AndroidSpin przeprowadził badania w prawdziwym świecie .
źródło
Działania nie działają w tle
W Androidzie działania (czyli część aplikacji, którą możesz zobaczyć) nigdy nie działają w tle. Mogą działać (i zużywać energię baterii) tylko wtedy, gdy są na ekranie. Aktywność przestaje działać bez względu na to, czy opuścisz dom, czy z powrotem . Jedyną różnicą jest to, jakie dane Android prosi aplikację o zapisanie, więc żadna z opcji nie jest „właściwa droga”. To zależy tylko od tego, co chcesz zrobić.
Dom
Jeśli korzystasz z domu , Android pozostawia aplikację w tym samym stanie, więc jeśli wrócisz do niej później (np. Poprzez listę ostatnich aplikacji), nadal będzie w tym samym stanie, w którym ją zostawiłeś: na tym samym ekranie, z tymi samymi pokazanymi rzeczami. Na przykład, jeśli jest to aplikacja do obsługi poczty e-mail, a ty patrzyłeś na jeden e-mail, to zapamięta, który to był e-mail, i wyświetli ten sam.
W końcu (po około pół godzinie) Android stwierdza, że nie wracasz do aplikacji, więc resetuje ten stan: przy następnym uruchomieniu aplikacja uruchomi się z ekranu głównego / głównego. Aby kontynuować przykład, aplikacja e-mail zapomni, którego e-maila i folderu oglądałeś, i wyświetli skrzynkę odbiorczą.
Plecy
Jeśli wrócisz , mówisz Androidowi, że nie chcesz wracać do tego widoku. Zniszczy to informacje o tym, na co patrzyłeś od razu. Następnym razem, gdy uruchomisz aplikację, wyświetli się ekran przedni (np. Skrzynka odbiorcza).
Jak powiedzieli inni, aplikacje mogą kontrolować zachowanie przycisku Wstecz : na przykład przeglądarki internetowe używają go do cofania się w historii przeglądarki. To, co opisałem, to domyślne zachowanie przycisku Wstecz, a programiści powinni zachować takie zachowanie, aby uniknąć zamieszania.
Procesy w tle buforowane
Niezależnie od tego, której metody użyjesz, system Android pozostawi aplikację w pamięci (ale nie będzie działać) tak długo, jak to możliwe. Ma to być bardziej wydajne. Gdy wrócisz do aplikacji, jeśli nadal jest w pamięci, Android może od razu uruchomić ją ponownie; jeśli nadal nie ma go w pamięci, Android musi ponownie poświęcić czas i energię na ładowanie aplikacji z pamięci.
W starszych wersjach Androida aplikacje pozostawione w pamięci w tle w ten sposób znajdowały się na liście „uruchomionych aplikacji”. Jest to nieco mylące dla użytkowników - sprawia, że ludzie myślą, że aplikacja nadal działa - dlatego nowsze wersje nazywają te aplikacje „buforowanymi procesami w tle”, aby było jasne, że są one buforowane, a nie uruchomione.
Co z aplikacjami w tle?
Wcześniej powiedziałem, że działania nie działają w tle. Jak więc klient poczty e-mail sprawdza pocztę? Oprócz działań aplikacje mogą mieć usługi . Usługi nie mają graficznego interfejsu użytkownika, z którym można się zapoznać lub z nimi korzystać, ale działają w tle. Zazwyczaj usługa jest uruchamiana rzadko, na przykład w celu sprawdzania poczty raz na godzinę, ale deweloper aplikacji może cały czas uruchamiać usługę, co powoduje wyczerpanie baterii.
Pozostawienie aktywności z powrotem lub w domu nie zmienia sposobu, w jaki Android traktuje usługi z tej samej aplikacji: usługa może być nadal uruchamiana lub może zostać uruchomiona później o określonej godzinie (przy następnym sprawdzeniu poczty).
Podsumowanie
Podsumowując, tak naprawdę nie ma znaczenia, czy korzystasz z powrotem, czy z domu : zmienia tylko to, co aplikacja pokazuje ci przy następnym uruchomieniu. Nie ma to wpływu na zużycie baterii. Żadne z nich nie odpowiada „wyjściu” z programu na komputerze.
źródło
W Androidzie aplikacje nigdy nie muszą być zamykane, a system operacyjny zajmuje się czyszczeniem pamięci pozostałych aplikacji, gdy zasoby są potrzebne gdzie indziej. Użycie zabójcy zadań po prostu zakłóci normalne działanie systemu operacyjnego i może nawet spowolnić urządzenie, ponieważ aplikacje będą zawsze musiały być ponownie ładowane od samego początku.
Cykl życia aplikacji na Androida działa w taki sposób, że aplikacje, które nie są na wierzchu, są przenoszone w stanie wstrzymania, który nie używa już procesora; przechowywana jest tylko zawartość pamięci na wypadek ponownego otwarcia aplikacji; i pamięć zostanie w razie potrzeby zwolniona.
To powiedziawszy, twórca aplikacji ma obowiązek śledzenia cyklu życia aplikacji podczas tworzenia aplikacji, aby mogły wystąpić pewne błędy lub błędy, które spowodują, że aplikacja tak naprawdę nigdy się nie zatrzyma ani nie zatrzyma. Jeśli napotkasz taką aplikację i co ją zamknąć, możesz to zrobić, wybierając „Ustawienia” -> „aplikacje” -> „Zarządzaj aplikacjami”, wybierając „Wymuś zatrzymanie” w aplikacji.
Ale tak naprawdę nie polecałbym używania zabójcy zadań, który stale działa na urządzeniu.
źródło
Chcę tylko dodać w odpowiedzi schwiz, że to tylko kilka linii kodu potrzebnych do zastąpienia funkcji przycisku Wstecz. Dlatego zamknięcie aplikacji nie zawsze jest niezawodne. Więc jeśli twórca aplikacji nie chce zamknąć aplikacji po naciśnięciu przycisku Wstecz, nie zostanie ona zamknięta.
Chociaż większość dobrych programistów aplikacji wyskakuje okienko z ostrzeżeniem po naciśnięciu przycisku Wstecz w menu głównym aplikacji, pytając, czy użytkownik zamierza wyjść z aplikacji, czy nie, jeśli klikniesz Wyjście, zamknie aplikację.
Prawidłowa odpowiedź może brzmieć tak: zamknięcie aplikacji jest całkowicie po stronie twórcy aplikacji, jeśli chcą, aby aplikacja zamknęła się po naciśnięciu przycisku głównego, wstawi kod wyjścia
onPause()
. Jeśli chcą go na przycisku Wstecz, umieszczą go wonBackKeyPressed
. Więc tak naprawdę to nie zależy od użytkownika.Użytkownik może po prostu uniknąć korzystania z aplikacji, które nie zapewniają odpowiedniej funkcji zamykania, gdy nie są potrzebne. Menedżerowie zadań nie są dobrym sposobem na zamknięcie aplikacji, ponieważ może ona spowodować awarię aplikacji i nie daje szansy na zapisanie stanu.
System operacyjny zamyka aplikację zawsze, gdy jest to konieczne, więc nie powinieneś się tym zbytnio przejmować.
Edycja:
Istnieje możliwość zniszczenia aplikacji, gdy tylko opuścisz aplikację, tj. Po kliknięciu klawisza głównego. Możesz przejść do
Settings
->Developer Options
->Don't keep Activities
. Chociaż jest to opcja dla programistów, ale jeśli zbytnio martwisz się aplikacjami działającymi w tle, możesz użyć tej opcji. Pamiętaj jednak, że nie zaleca się korzystania z niego przez programistów.źródło