Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
1

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

13.10.2014, 10:24. Просмотров 1006. Ответов 8
Метки нет (Все метки)

Заметил в некоторых приложениях, что после их сворачивания и разворачивания через некоторое время - запускается стартовый экран. Но если свернуть и развернуть сразу, или свернуть и не трогать телефон, а потом развернуть приложение продолжается с того же места на котором было свернуто. Как это реализовано?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2014, 10:24
Ответы с готовыми решениями:

Запуск анимации при старте активити
Есть покадровая анимация, которая выставлена фоном одного из элементов...

Динамически менять активити показываемую при запуске приложения
Здравствуйте уважаемы форумчане! При разработке программы возник такой вопрос,...

Сворачивает (выходит из приложения) при возврате из дочерней активити в родительскую
Приветствую господа. Нуждаюсь в вашей помощи. Есть некая программа на андроид,...

Возврат в главную Активити при каждом запуске (разворачивании) приложения
Добрый день, Подскажите, пожалуйста, каким образом можно реализовать такую...

Запуск активити
Создаю приложение-справку, при запуске выходит активити (MainActivity), которое...

8
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
13.10.2014, 11:46 2
Spelcrawler, в смысле? Вы же не первый день в Андроид-программировании и знаете, что приложения могут завершаться автоматически системой. Потому и стартуют с первого экрана.
Хотя, может, мне кажется, и там какой-то хитрый алгоритм завершения работы.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
13.10.2014, 11:50  [ТС] 3
В том то и дело, что у меня стартуют с того экрана на котором свернул. И очень часто бывают nullpointer'ы то из интента данные вытащить не может то еще что-то. И для меня не критично запускать с того места на котором пользователь закончил в прошлый раз. Пробовал ловить ошибки и запускать стартовую активити в ручную, а эту с ошибкой закрывать, но в таком случае картинка "скачет", т.е. сначала запускается один экран, потом второй. В итоге запуск занимает пару секунд.
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
13.10.2014, 14:17 4
Spelcrawler, интересная мысль. Как считаете, можно ли свернуть приложение каким-то другим способом, не нажимая клавишу Home? Например, если кто-то звонит, то после завершения разговора ваше приложение тоже вернётся с ошибкой? Какое событие вызывается последним при сворачивании: onStop или onDestroy?
Мельком почитал здесь: http://stackoverflow.com/questions/2...id-application, http://stackoverflow.com/questions/2...een-on-android
Не знаю, подойдёт ли.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
13.10.2014, 14:26  [ТС] 5
Нет, приложение вылетает с ошибкой только после продолжительного нахождения в фоне. Но, если я прибью его тасккиллером - оно запустится с нуля, т.е. со стартового экрана. А когда его прибивает система - пытается восстановить свое состояние. Поначалу я устранял ошибки: дописывал проверки, загружал все данные заново, и еще много всякой ерунды делал. Но надоело, т.к. ошибок связанных с выгрузкой приложения из памяти становилось все больше и больше. Теперь просто весь onResume() сую в try\catch и в catch'e делаю переход на стартовый экран, а этот закрываю. Но как писал выше с таким подходом экран повяляется, исчезает, появляется второй. А в чужих приложениях видел, что без всяких скачков сразу стартовый экран. И точно только после выгрузки.
Цитата Сообщение от CoolMind Посмотреть сообщение
Какое событие вызывается последним при сворачивании: onStop или onDestroy?
Про onDestroy не скажу, но после onPause все отлично востанавливается.
0
dubok79
324 / 122 / 10
Регистрация: 01.11.2012
Сообщений: 586
13.10.2014, 14:38 6
Может у вас утечка памяти, раз оно не закрывается системой? Может какой Handler сидит в очереди и спит, поэтому система его и не выгружает... У меня, если система приложение не закрыло то откроется с последнего окна и без всяких ошибок.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
13.10.2014, 14:40  [ТС] 7
Цитата Сообщение от dubok79 Посмотреть сообщение
Может у вас утечка памяти, раз оно не закрывается системой? Может какой Handler сидит в очереди и спит, поэтому система его и не выгружает...
В фоне есть только AlarmManager. Но и без него так же все.
0
dubok79
324 / 122 / 10
Регистрация: 01.11.2012
Сообщений: 586
13.10.2014, 14:42 8
Проверьте, может хвосты сидят от объектов, ну там на onPause не стоит myobj=null. Странное какое то поведение.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
13.10.2014, 14:52  [ТС] 9
Цитата Сообщение от dubok79 Посмотреть сообщение
ну там на onPause не стоит myobj=null
Я так не делаю, это же после каждого поворота экрана или сворачивания\разворачивания все заново загружать, рассчитывать, отрисовывать - долго это. Да и не встречал такого нигде.
0
13.10.2014, 14:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2014, 14:52

Странный многократный запуск активити
Пишу одно приложение, в котором сохраняю введенное в edittext имя. Если...

Запуск BroadcastReceiver без активити
Имеется приложение, включающее в себя единственный класс: public class...

Не работает If и запуск нового активити
Есть загрузка данных с базы MySql в переменные, есть 2 EditText в которые...


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

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

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