Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
MonStar
22 / 22 / 4
Регистрация: 10.04.2011
Сообщений: 241
#1

Не освобождаются ресурсы после закрытия Activity

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

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

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

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

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

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

Как из одного Activity перенести фотку в другое Activity?
Собственно необходимо отобразить фотографию в activity2, которую загрузили в...

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

Сохранение значения editText после перехода обратно в Activity
Есть два активити. В первом активити есть editText поле, в котором есть...

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

Из одного Activity получить значение другого Activity
Запускаю активити: public class MainActivity extends Activity { ... ......


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

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

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