С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
MonStar
20 / 20 / 3
Регистрация: 10.04.2011
Сообщений: 225
#1

Не освобождаются ресурсы после закрытия Activity - Программирование Android

16.07.2013, 19:54. Просмотров 886. Ответов 7
Метки нет (Все метки)

Очередная непонятная проблема. Делаю в активити setContentView() с большим количеством ImageView. В результате когда запускаю новую, а для этой вызываю finish() не вызывается метод finalize() и все ресурсы хранятся в памяти.
Как избежать этого
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2013, 19:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не освобождаются ресурсы после закрытия Activity (Программирование Android):

Везде ли выполняется метод finish() для закрытия activity - Программирование Android
После startActivityForResult в другой activity не срабатывает метод finish();, он должен закрывать только activity?

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity - Программирование Android
У меня в параллельном потоке происходит куча apply() Решение использовать apply вместо commit было принято из-за скорости. Но...

Изменение layout-элементов одного activity из другого activity - Программирование Android
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном activity из второго activity, каким образом мне можно это...

Android - Передача данных с одного Activity на другое Activity - Программирование Android
Здравствуйте , возникла необходимость получения числовых (int и float ну или double) данных в одном Activity , а обработка и вывод...

Из одной Activity запустить функцию другой Activity - Программирование Android
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time Picker ы (Дата - начало, Дата - окончание)...

Вызвать из одной activity функцию другой activity - Программирование Android
вызвать из одного activity функцию другой activity Подскажите, можно ли такое реализовать? Допустим у меня есть основная активити и...

7
Бородач
Заблокирован
16.07.2013, 19:57 #2
никак, и зачем
Exit(0)
0
MonStar
20 / 20 / 3
Регистрация: 10.04.2011
Сообщений: 225
16.07.2013, 20:03  [ТС] #3
Логично зачем, что бы освободить память от ненужной информации. Зачем мне несколько мегабайт лишней информации, которая не очищается по непонятной причине. Постоянно вызывается GC и показывает, что освободжает 2 мб памяти, если убрать эти ресурсы, то 500 килобайт.
Когда делаю дамп памяти через HROPF вижу, что в памяти 8 мегабайт занимает Bitmap из этой активити. Хотя её давно закрыл
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.07.2013, 23:51 #4
если для вас это критично, то в онДестрой вытаскивайте битмапки и вызывайте recycle()
0
MonStar
20 / 20 / 3
Регистрация: 10.04.2011
Сообщений: 225
16.07.2013, 23:53  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
если для вас это критично, то в онДестрой вытаскивайте битмапки и вызывайте recycle()
Странно, что приходится заниматься такими извращениями. А если у меня 100 подобных активити то что, каждая останется висеть и в конце концов получу OutOfMemory. Неужели нельзя очистить всё, когда активити закрывается
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.07.2013, 23:58 #6
вам не обязательно этим заниматься, все само очиститься в свое(никому неизвестное) время.
0
MonStar
20 / 20 / 3
Регистрация: 10.04.2011
Сообщений: 225
17.07.2013, 00:04  [ТС] #7
Я заметил это когда искал проблему в другой части приложения. Уже несколько дней не могу её решить
Оптимизация приложения. Слишком часто вызывается GC собственно вот она
Каждые несколько секунд вызывается GC и пишет что очистил около 2 мегабайт памяти, но если в эту активити не засовывать предварительно лаяут, то каждый раз очищается уже 500 килобайт. Видимо это как-то взаимосвязано, но GC очень мешает жить, ибо так часто создает паузы и всё приложение начинает на это время подвисать.
Критичны даже паузы в 10ms
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.07.2013, 00:08 #8
у меня никогда не было никаких подвисаний из-за GC
0
17.07.2013, 00:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2013, 00:08
Привет! Вот еще темы с ответами:

Из одного Activity получить значение другого Activity - Программирование Android
Запускаю активити: public class MainActivity extends Activity { ... ... Intent intent = new Intent(getBaseContext(),...

Автозапуск приложения после его закрытия - Программирование Android
Всем привет. Хочу сделать автозапуск приложения после его закрытия или сворачивания через некоторое время, как можно реализовать? возможно...

Кнопки удаляются после закрытия приложения - Программирование Android
Я создаю кнопки но не могу с ними взаимодействовать и их сохранять, можете помочь решить проблему? кнопки удаляются после закрытия...

Service автозапуск после закрытия родителя - Программирование Android
Такой вопрос назрел несущей. Есть актвити и сервис. и подружить бы мне б их хотелось. но есть проблема везкая. дружбу дружбою...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.