повторный запуск тяжелой активити
повторный запуск тяжелой активити
Есть две тяжелые активити ( с кучей элементов)
Если из первой активити перейти на вторую, а потом вернутся и попытаться открыть вторую снова, то приложение рушится без всяких сообщений об ошибке.
Почему такое происходит и что можно поделать?
В манифесте первая активити singleTop, вторая-дефальтная.
На второй бывает много тяжелых картинок.
Если картинок не много, то никаких проблем не возникает.
А когда много, то приложение рушится при попытке повторного запуска второй активности.
Не понятно почему повторный запуск не аналогичен первоначальному.
Пытаюсь более удачно завершить вторую активити, чтобы освободить все ресурсы что она могла занимать -пишу при выходе finish() и rl.removeAllViews();
Как ещё почистить все следы жизнедеятельности второй активити и оперативку которую она использовала ?
Если из первой активити перейти на вторую, а потом вернутся и попытаться открыть вторую снова, то приложение рушится без всяких сообщений об ошибке.
Почему такое происходит и что можно поделать?
В манифесте первая активити singleTop, вторая-дефальтная.
На второй бывает много тяжелых картинок.
Если картинок не много, то никаких проблем не возникает.
А когда много, то приложение рушится при попытке повторного запуска второй активности.
Не понятно почему повторный запуск не аналогичен первоначальному.
Пытаюсь более удачно завершить вторую активити, чтобы освободить все ресурсы что она могла занимать -пишу при выходе finish() и rl.removeAllViews();
Как ещё почистить все следы жизнедеятельности второй активити и оперативку которую она использовала ?
Re: повторный запуск тяжелой активити
нельзя без кода на такое ответить.
НЕ может приложение "рушиться" без сообщений об ошибке - ищи их в логе все равно. Очисти лог перед падением, жми куда жмешь и смотри лог. Там есть ошибка.
НЕ может приложение "рушиться" без сообщений об ошибке - ищи их в логе все равно. Очисти лог перед падением, жми куда жмешь и смотри лог. Там есть ошибка.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: повторный запуск тяжелой активити
Есть вероятность того, что у тебя утечка. Я показывал похожий пример, как понять, есть она или нет - https://habrahabr.ru/post/222199/Почему такое происходит и что можно поделать?
Например вторая активити не финишируется (или даже может быть первая, пусть она и singleTop (точно не помню, но вроде если дело касается утечки, то singleTop никак не поможет)), и потом создаётся новый экземпляр.
Какой размер картинок и в какой папке они хранятся?На второй бывает много тяжелых картинок.
Re: повторный запуск тяжелой активити
Предсмертная записка...
(кажется меня нет в завещании)
После этого приложение бесследно растворилось в воздухе
И я увидела рабочий стол смартфона
И на кого ты меня оставило (
(кажется меня нет в завещании)
После этого приложение бесследно растворилось в воздухе
И я увидела рабочий стол смартфона
И на кого ты меня оставило (
Re: повторный запуск тяжелой активити
Ситуация вот какая)
Из первой активити я запускаю вторую. В ней программно создается 20 imageview и в каждый, через bitmap, размещается скриншот из соответствующего видеоролика на sd-карте.
На весь этот процесс уходит секунды три.
Когда я попадаю на вторую активити, в логах у меня видно, что первая прошла через состояние pause и stop.
Затем я жму кнопку назад и попадаю на первую активити. В логах видно, что вторая прошла через pause stop и destroy. Пока всё нормально.
Но если теперь опять попробовать зайти на вторую активити - то приложение растворяется в воздухе.
А когда скриншотов на второй активити меньше чем 20, например 18, приложение работает нормально.
Из первой активити я запускаю вторую. В ней программно создается 20 imageview и в каждый, через bitmap, размещается скриншот из соответствующего видеоролика на sd-карте.
На весь этот процесс уходит секунды три.
Когда я попадаю на вторую активити, в логах у меня видно, что первая прошла через состояние pause и stop.
Затем я жму кнопку назад и попадаю на первую активити. В логах видно, что вторая прошла через pause stop и destroy. Пока всё нормально.
Но если теперь опять попробовать зайти на вторую активити - то приложение растворяется в воздухе.
А когда скриншотов на второй активити меньше чем 20, например 18, приложение работает нормально.
Re: повторный запуск тяжелой активити
Моя личная версия - что причина этого в том, что
даже после того как вторая тяжелая активити закрывается в первый раз, система ( телефон ) не высвобождает оперативку которую она занимала.
И в итоге, при попытке запустить эту тяжелую активити повторно, оперативки просто не хватает и система убивает приложение. Нет ?
даже после того как вторая тяжелая активити закрывается в первый раз, система ( телефон ) не высвобождает оперативку которую она занимала.
И в итоге, при попытке запустить эту тяжелую активити повторно, оперативки просто не хватает и система убивает приложение. Нет ?
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: повторный запуск тяжелой активити
я дал ссылку, где описано как это узнатьИ в итоге, при попытке запустить эту тяжелую активити повторно, оперативки просто не хватает и система убивает приложение. Нет ?
Re: повторный запуск тяжелой активити
Я не понимаю что тут гадать без кода? Что значить 20 картинок? Какого размера-качества, как они там отображаются, видны ли все на экране или нет? Вы что, не видели никогда активити с 20ю картинками, которые хорошо грузятся на слабом телефоне и не падают?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: повторный запуск тяжелой активити
тут кажется всё дело в том что у меня цикл кодирования картинок через bitmapfactory
без очищения памяти
завтра буду разбираться как её чистить
зы если кто знает, может подсказать
без очищения памяти
завтра буду разбираться как её чистить
зы если кто знает, может подсказать
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: повторный запуск тяжелой активити
Я вышел из касты Ванг и Нострадамусов
Re: повторный запуск тяжелой активити
Женщины, что с них взять)
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198