Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
534 / 503 / 114
Регистрация: 12.03.2014
Сообщений: 1,670
Завершенные тесты: 1
1

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

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

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

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

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

Ошибка при выгрузке мобильно приложения на 1С в файл
Добрый день! Объясните, пожалуйста в чем тут проблема: хочу выгрузить мобильное приложение на 1С в...

Запуск не .Net приложения в памяти
Подскажите, пожалуйста, возможен ли запуск не .Net приложения прямо в памяти из массива байт. Знаю...

8
424 / 405 / 67
Регистрация: 06.10.2012
Сообщений: 1,748
13.10.2014, 11:46 2
Spelcrawler, в смысле? Вы же не первый день в Андроид-программировании и знаете, что приложения могут завершаться автоматически системой. Потому и стартуют с первого экрана.
Хотя, может, мне кажется, и там какой-то хитрый алгоритм завершения работы.
0
534 / 503 / 114
Регистрация: 12.03.2014
Сообщений: 1,670
Завершенные тесты: 1
13.10.2014, 11:50  [ТС] 3
В том то и дело, что у меня стартуют с того экрана на котором свернул. И очень часто бывают nullpointer'ы то из интента данные вытащить не может то еще что-то. И для меня не критично запускать с того места на котором пользователь закончил в прошлый раз. Пробовал ловить ошибки и запускать стартовую активити в ручную, а эту с ошибкой закрывать, но в таком случае картинка "скачет", т.е. сначала запускается один экран, потом второй. В итоге запуск занимает пару секунд.
0
424 / 405 / 67
Регистрация: 06.10.2012
Сообщений: 1,748
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
534 / 503 / 114
Регистрация: 12.03.2014
Сообщений: 1,670
Завершенные тесты: 1
13.10.2014, 14:26  [ТС] 5
Нет, приложение вылетает с ошибкой только после продолжительного нахождения в фоне. Но, если я прибью его тасккиллером - оно запустится с нуля, т.е. со стартового экрана. А когда его прибивает система - пытается восстановить свое состояние. Поначалу я устранял ошибки: дописывал проверки, загружал все данные заново, и еще много всякой ерунды делал. Но надоело, т.к. ошибок связанных с выгрузкой приложения из памяти становилось все больше и больше. Теперь просто весь onResume() сую в try\catch и в catch'e делаю переход на стартовый экран, а этот закрываю. Но как писал выше с таким подходом экран повяляется, исчезает, появляется второй. А в чужих приложениях видел, что без всяких скачков сразу стартовый экран. И точно только после выгрузки.
Цитата Сообщение от CoolMind Посмотреть сообщение
Какое событие вызывается последним при сворачивании: onStop или onDestroy?
Про onDestroy не скажу, но после onPause все отлично востанавливается.
0
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
13.10.2014, 14:38 6
Может у вас утечка памяти, раз оно не закрывается системой? Может какой Handler сидит в очереди и спит, поэтому система его и не выгружает... У меня, если система приложение не закрыло то откроется с последнего окна и без всяких ошибок.
0
534 / 503 / 114
Регистрация: 12.03.2014
Сообщений: 1,670
Завершенные тесты: 1
13.10.2014, 14:40  [ТС] 7
Цитата Сообщение от dubok79 Посмотреть сообщение
Может у вас утечка памяти, раз оно не закрывается системой? Может какой Handler сидит в очереди и спит, поэтому система его и не выгружает...
В фоне есть только AlarmManager. Но и без него так же все.
0
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
13.10.2014, 14:42 8
Проверьте, может хвосты сидят от объектов, ну там на onPause не стоит myobj=null. Странное какое то поведение.
0
534 / 503 / 114
Регистрация: 12.03.2014
Сообщений: 1,670
Завершенные тесты: 1
13.10.2014, 14:52  [ТС] 9
Цитата Сообщение от dubok79 Посмотреть сообщение
ну там на onPause не стоит myobj=null
Я так не делаю, это же после каждого поворота экрана или сворачивания\разворачивания все заново загружать, рассчитывать, отрисовывать - долго это. Да и не встречал такого нигде.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2014, 14:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

Сканирование оперативной памяти запуск приложения
Помогите разобраться. При запуске стартует сразу и спустя несколько секунд перезагружается ПК. А...

Запуск .NET C# программы из памяти C++ приложения
Понадобилось реализовать запуск .NET C# программы прямо из памяти C++ приложения. Использую...


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

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

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