Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331

AsynkTask и утечки памяти

04.05.2016, 15:25. Показов 601. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот смотрите, если я определил AsynkTask внутри активити, то AsynkTask у меня получается внутренний класс активити и содержит скрытую ссылку на активити. И AsynkTask завершается только когда завершается doInBackground() метод. То есть если даже в момент выполнения doInBackground, экран телефона перевернули(произошло пересоздание активити), то утечки впринципи все равно не должно быть по большому счету, потому что как только doInBackground выполнится, метод PostExecute, по ошибке, вернет результат в старый экземпляр активити и AsynkTask завершится. Так вот после того как AsynkTask завершится (выполнится doInBackground и PostExecute), он уже не будет ссылаться на старый экземпляр активити(до поворота)? Сборщик мусора сможет после этого удалить старый активити или даже после выполнения своих методов AsynkTask будет жить в памяти и держать ссылку на активити если так то почему? Просто из за чего здесь получается утечка памяти?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2016, 15:25
Ответы с готовыми решениями:

AsynkTask
Почему AsynkTask использовать уже не рекомендуется??

Пример с AsynkTask
Как из AsynkTask расположенного в одном package отобразить Bitmap в ImageView активити расположенном в другом package можете обьяснить или...

Изучаю AsynkTask
Пытаюсь через AsynkTask получить get запрос и вывести объекты из ссылки. Но судя по логам сервера запрос туда да же не приходит, хотя...

2
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
04.05.2016, 15:32
просто не пересоздавай активити при повороте и все

и вот лично я считаю что асинктаски внутри активити создают люди, которые не познали калбеки, интерфейсы и они не понимают как рефакторить код, но это не совсем по теме утечек
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
04.05.2016, 15:43  [ТС]
просто не пересоздавай активити при повороте и все
Ну впринципи это верно(я так и делаю), просто везде пишут что AsynkTask внутри активити создает утечку. Вот и интересно стало за счет чего же утечка возникает? Понимаю только, что AsynkTask может обратится в PostExecute() к элементам активити, которой уже не существует.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2016, 15:43
Помогаю со студенческими работами здесь

Handler vs Service vs AsynkTask
Есть 2 Activity, пусть A1 и A2. В методе onCreate() Activity A1 запускается новый поток, в котором определяются координаты местоположения...

Как связать ArrayList, ListView и AsynkTask?
В AsinkTask в doInBackGround у меня есть массив final ArrayList<String> vkmass = new ArrayList<String>(); В цикле я его в этом же методе...

Как правильно отобразить массив сообщений в AsynkTask?
как правильно отобразить массив сообщений в AsynkTask методе onPostExecute можете фрагмент небольшой привести?? TextView нужно для этого в...

При загрузке файла в AsynkTask в строке уведомлений вывести анимацию иконки загрузки
При загрузке файла в AsynkTask хочу в строке уведомлений вывести анимацию иконки загрузки. Положил в drawable 6 файлов png. ...

Утечки памяти без выделения памяти?
Человек использует _CrtDumpMemoryLeaks() для отлова утечек, и обратился ко мне в сязи с тем, что есть утечка, но памяти он никому не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru