Проверьте WeakAsyncTask для примера от Google асинхронной задачи, которая не поддерживает ссылки после жизненного цикла активности, и BetterAsyncTask от DroidFu для примера способа связать AsyncTasksчтобы они могли повторно подключиться к новым экземплярам активности (например, после ротации);Пример использования: здесь .
Вероятно, не слишком много вреда для сохранения ссылок на Activity вокруг короткой операции (например, одного небольшого веб-запроса или записи в небольшой файл), но если естьвозможность для задач накапливаться, это может вызвать проблемы.Например, если ваше приложение считывает XML-файл размером 200 КБ с сервера при создании, что, скажем, может занять 1 минуту или более по сравнению с EDGE, быстрое переключение телефона с открытым / закрытым 3 или 4 раза может привести к 4 сохраненным экземплярам Activity -- в этой ситуации вы можете довольно быстро исчерпать память, не говоря уже о дублированной работе.
Для любых действительно длительных процессов, тем не менее, вы должны обязательно рассмотреть IntentService вместоAsyncTask.Они предназначены для более длительных процессов, которые на самом деле не привязаны к определенному мероприятию, например, как вы можете отправить MMS и оставить занятие, чтобы заняться другими делами, и вы получите приятный счастливый тост, информирующий вас о завершениизадание, когда оно завершается.