2011-09-16 8 views
5

To może być omówione wcześniej, ale nie znalazłem odpowiedzi. Mam problem z moją aplikacją, która została zabita, gdy inne aplikacje wymagają pamięci. Przyjrzałem się Activity Lifecycle i przetestowałem moją aplikację. Wszystko, co chcę wiedzieć, to: kiedy w jednym z moich procesów są wywoływane onPause() lub onStop(), a inne aplikacje potrzebują pamięci, jak uniknąć mojego procesu.Android: jak uniknąć mojego procesu zabijania

Odpowiedz

6

Nie można tego uniknąć. Gdy system wymaga pamięci lub wykonuje czyszczenie, może zabić aplikację.

Użytkownik może jednak w jakiś sposób kontrolować ważność zgłoszenia, aby mógł dłużej żyć. Czytaj tutaj o znaczeniu różnych częściach aplikacyjnych związanych z zabijania procesu: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html#Lifecycle

mieć długo uruchomienie aplikacji, wdrożenia usługi. Jednak usługa może zostać zabita, ale harmonogramy systemowe, aby ponownie uruchomić zabite lub uszkodzone usługi po pewnym czasie.

+0

w niektórych grach, gdy jesteś w trakcie gry naciśnij (twardy) przycisk HOME i użyj innych aplikacji, gra nigdy nie zostaje zabita (nigdy nie zauważona). jak więc mogą to zrobić? –

+0

To zależy od wersji Androida. W wersji 2.3 nieaktywne działanie zostanie utracone po około 20 minutach niezależnie od stanu pamięci. Lub po prostu poprawnie zapisać/przywrócić stan, którego nie zauważysz. –

1

Nie jest to możliwe, każda aplikacja jest traktowana jednakowo w systemie Android i jedną z rzeczy, którą należy wziąć pod uwagę, jest to, że aplikacja może zostać zabita. Możesz nadal korzystać z usług, które mogą robić, co chcesz, jeśli jest to coś w tle.

Powiązane problemy