Mam aplikację, która zawiera działaniei usługa. Działanie uruchamia usługę. Kiedy zaczynam coś wielkiego, jak gra (na przykład AngryBirds), otrzymuję komunikat „Niska pamięć: nie ma więcej usług” w LogCat i moje zamknięcie usługi. Ale jeśli uruchomię muzykę w tle, to działa dobrze i kontynuuje pracę ...
Więc mam 2 pytania:
- Domyślam się, że android zabija mój proces, ponieważ zawiera mój czynność. Czy mam rację?
- Jak mogę wdrożyć nieśmiertelną usługę, taką jak usługa gracza?
Dzięki
Odpowiedzi:
4 dla odpowiedzi № 1Powinieneś to robić tylko wtedy, gdy użytkownik wie, że usługa działa cały czas i ma na tym zysk. Jeśli tak, sprawdź metodę startForeground pod następującym linkiem:
http://developer.android.com/reference/android/app/Service.html
Jeśli nie, powinieneś poprawić swoją architekturę. Większość usług nie musi działać cały czas i może być przydatne utrwalenie danych usługi.