Информация об изменениях

Сообщение Re[7]: Андроид активити от 30.10.2015 7:54

Изменено 30.10.2015 7:56 lpd

Здравствуйте, Mishka, Вы писали:

M>Здравствуйте, lpd, Вы писали:


lpd>>Здравствуйте, Mishka, Вы писали:

M>>>Так что AsyncTask >> background service.

lpd>>По твоей ссылке на so принятый ответ:

lpd>>The AsyncTask is tied to a UI thread and if the Activity is finished the async task is canceled.

M>Я точно 100% вижу, что мой AsyncTask живёт после того как активити убита. Более того, он живёт даже когда этих активити нет и апп просто висит в бакграунде. Точно тебе говорю, единственный вариант убить AsyncTask — это убить апп, а это убивает любой сервис.


Дело не в смерти одной активити. Почитай про иерархию потоков по моей ссылке — AsyncTask убьется при освобождении памяти, иного поведения не задано; AsyncTask это просто небольшой удобный инструмент, чтобы не создавать громоздким кодом потоки. А foregroundService у меня оставалось работать и обрабатывать сеть после того, как система при нехватке памяти убивала активити.
Re[7]: Андроид активити
Здравствуйте, Mishka, Вы писали:

M>Здравствуйте, lpd, Вы писали:


lpd>>Здравствуйте, Mishka, Вы писали:

M>>>Так что AsyncTask >> background service.

lpd>>По твоей ссылке на so принятый ответ:

lpd>>The AsyncTask is tied to a UI thread and if the Activity is finished the async task is canceled.

M>Я точно 100% вижу, что мой AsyncTask живёт после того как активити убита. Более того, он живёт даже когда этих активити нет и апп просто висит в бакграунде. Точно тебе говорю, единственный вариант убить AsyncTask — это убить апп, а это убивает любой сервис.


Дело не в смерти одной активити. В Android специальный механизм освобождения памяти. Почитай про иерархию потоков по моей ссылке — AsyncTask убьется при освобождении памяти, иного поведения не задано; AsyncTask это просто небольшой удобный инструмент, чтобы не создавать громоздким кодом потоки. А foregroundService у меня оставалось работать и обрабатывать сеть после того, как система при нехватке памяти убивала активити.