Pytanie:
Jak utrzymywać działanie aplikacji?
PHPst
2015-05-06 17:09:48 UTC
view on stackexchange narkive permalink

Zainstalowałem aplikację mówiącego zegara (o nazwie „Tell Me The Time”), która podaje aktualny czas co kwadrans. Jednak nie jestem aktywny i od czasu do czasu otwieram go ponownie. Jednocześnie inna podobna aplikacja nie ma tego problemu i pozostaje aktywna w tle. Jak utrzymać aplikację aktywną (działającą) w tle (24/7)?

Problem jest również poważniejszy w przypadku korzystania z klientów Torrent (w rzeczywistości są one bezużyteczne na Androidzie).

Dwa odpowiedzi:
Ali_Waris
2015-05-06 17:37:49 UTC
view on stackexchange narkive permalink

To zależy od tego, jak aplikacja została opracowana. Ogólnie rzecz biorąc, usługa systemu Android musi być uruchomiona, jeśli chcesz, aby aplikacja pozostała aktywna w tle. Ale jeśli usługi nie są używane, to gdy tylko aktywność zniknie lub zostanie zniszczona, zachowanie nie jest już obserwowane.

Alarm byłby lepszy i mniej obciążałby baterię.
Jak wspomniałem w mojej odpowiedzi, „obsługa” jest kluczowym czynnikiem. Alarm można ustawić za pomocą działań wyzwalających. Ale jeśli nie jest osadzony w usłudze, nie zadziała, gdy tylko użytkownik opuści działanie. Lepiej skupić się na korzystaniu z „usług”. Dzięki temu aplikacja będzie działać nawet w tle.
Czy masz na myśli to, że nie można utrzymać uruchomionej aplikacji?
Ciągłe utrzymywanie włączonego ekranu może służyć temu celowi, ale jest to praktycznie niewykonalne (ograniczenia baterii).
user3363866
2015-05-06 17:38:19 UTC
view on stackexchange narkive permalink

O ile mi wiadomo, nie możesz zapewnić tego bez bycia programistą aplikacji (a nawet wtedy nie ma żadnej gwarancji).

Musisz wiedzieć, że system Android jest nastawiony na zabijanie aplikacji w tle, gdy zabraknie pamięci urządzenia. Ogólna zasada jest taka, że ​​nieaktywne aplikacje są zabijane na rzecz obecnie aktywnych, jeśli brakuje pamięci. Jestem pewien, że jako programista możesz to obejść do pewnego stopnia, stosując obejścia, takie jak próba utrzymania aplikacji działającej w tle i regularne przenoszenie jej na pierwszy plan, ponowne uruchamianie w ustalonych odstępach czasu lub coś podobnego. Ale ponieważ użytkownik otrzymuje dowolną aplikację, wydaje się to prawie niemożliwe.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...