Страница 1 из 1

повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 08:32
Lisa
Есть две тяжелые активити ( с кучей элементов)

Если из первой активити перейти на вторую, а потом вернутся и попытаться открыть вторую снова, то приложение рушится без всяких сообщений об ошибке.

Почему такое происходит и что можно поделать?

В манифесте первая активити singleTop, вторая-дефальтная.

На второй бывает много тяжелых картинок.
Если картинок не много, то никаких проблем не возникает.
А когда много, то приложение рушится при попытке повторного запуска второй активности.
Не понятно почему повторный запуск не аналогичен первоначальному.
Пытаюсь более удачно завершить вторую активити, чтобы освободить все ресурсы что она могла занимать -пишу при выходе finish() и rl.removeAllViews();



Как ещё почистить все следы жизнедеятельности второй активити и оперативку которую она использовала ?

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 11:35
Foenix
нельзя без кода на такое ответить.
НЕ может приложение "рушиться" без сообщений об ошибке - ищи их в логе все равно. Очисти лог перед падением, жми куда жмешь и смотри лог. Там есть ошибка.

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 12:27
Mikhail_dev
Почему такое происходит и что можно поделать?
Есть вероятность того, что у тебя утечка. Я показывал похожий пример, как понять, есть она или нет - https://habrahabr.ru/post/222199/
Например вторая активити не финишируется (или даже может быть первая, пусть она и singleTop (точно не помню, но вроде если дело касается утечки, то singleTop никак не поможет)), и потом создаётся новый экземпляр.
На второй бывает много тяжелых картинок.
Какой размер картинок и в какой папке они хранятся?

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 12:40
Lisa
Предсмертная записка...
(кажется меня нет в завещании)

Изображение

После этого приложение бесследно растворилось в воздухе
И я увидела рабочий стол смартфона

И на кого ты меня оставило (

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 12:48
Lisa
Ситуация вот какая)
Из первой активити я запускаю вторую. В ней программно создается 20 imageview и в каждый, через bitmap, размещается скриншот из соответствующего видеоролика на sd-карте.
На весь этот процесс уходит секунды три.

Когда я попадаю на вторую активити, в логах у меня видно, что первая прошла через состояние pause и stop.
Затем я жму кнопку назад и попадаю на первую активити. В логах видно, что вторая прошла через pause stop и destroy. Пока всё нормально.
Но если теперь опять попробовать зайти на вторую активити - то приложение растворяется в воздухе.

А когда скриншотов на второй активити меньше чем 20, например 18, приложение работает нормально.

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 13:02
Lisa
Моя личная версия - что причина этого в том, что
даже после того как вторая тяжелая активити закрывается в первый раз, система ( телефон ) не высвобождает оперативку которую она занимала.

И в итоге, при попытке запустить эту тяжелую активити повторно, оперативки просто не хватает и система убивает приложение. Нет ?

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 13:08
Mikhail_dev
И в итоге, при попытке запустить эту тяжелую активити повторно, оперативки просто не хватает и система убивает приложение. Нет ?
я дал ссылку, где описано как это узнать

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 13:16
Foenix
Я не понимаю что тут гадать без кода? Что значить 20 картинок? Какого размера-качества, как они там отображаются, видны ли все на экране или нет? Вы что, не видели никогда активити с 20ю картинками, которые хорошо грузятся на слабом телефоне и не падают?

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 14:18
Lisa
тут кажется всё дело в том что у меня цикл кодирования картинок через bitmapfactory
без очищения памяти

завтра буду разбираться как её чистить

зы если кто знает, может подсказать

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 16:24
Mikhail_dev
Я вышел из касты Ванг и Нострадамусов

Re: повторный запуск тяжелой активити

Добавлено: 14 апр 2016, 20:03
Foenix
Женщины, что с них взять)