Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
#1

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

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

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

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

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

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

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

Запуск активити - Программирование Android
Создаю приложение-справку, при запуске выходит активити (MainActivity), которое содержит 2 кнопки (btnActPerv, btnActZan) при нажатии...

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

8
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
13.10.2014, 11:46 #2
Spelcrawler, в смысле? Вы же не первый день в Андроид-программировании и знаете, что приложения могут завершаться автоматически системой. Потому и стартуют с первого экрана.
Хотя, может, мне кажется, и там какой-то хитрый алгоритм завершения работы.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
13.10.2014, 11:50  [ТС] #3
В том то и дело, что у меня стартуют с того экрана на котором свернул. И очень часто бывают nullpointer'ы то из интента данные вытащить не может то еще что-то. И для меня не критично запускать с того места на котором пользователь закончил в прошлый раз. Пробовал ловить ошибки и запускать стартовую активити в ручную, а эту с ошибкой закрывать, но в таком случае картинка "скачет", т.е. сначала запускается один экран, потом второй. В итоге запуск занимает пару секунд.
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
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
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
13.10.2014, 14:26  [ТС] #5
Нет, приложение вылетает с ошибкой только после продолжительного нахождения в фоне. Но, если я прибью его тасккиллером - оно запустится с нуля, т.е. со стартового экрана. А когда его прибивает система - пытается восстановить свое состояние. Поначалу я устранял ошибки: дописывал проверки, загружал все данные заново, и еще много всякой ерунды делал. Но надоело, т.к. ошибок связанных с выгрузкой приложения из памяти становилось все больше и больше. Теперь просто весь onResume() сую в try\catch и в catch'e делаю переход на стартовый экран, а этот закрываю. Но как писал выше с таким подходом экран повяляется, исчезает, появляется второй. А в чужих приложениях видел, что без всяких скачков сразу стартовый экран. И точно только после выгрузки.
Цитата Сообщение от CoolMind Посмотреть сообщение
Какое событие вызывается последним при сворачивании: onStop или onDestroy?
Про onDestroy не скажу, но после onPause все отлично востанавливается.
0
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
13.10.2014, 14:38 #6
Может у вас утечка памяти, раз оно не закрывается системой? Может какой Handler сидит в очереди и спит, поэтому система его и не выгружает... У меня, если система приложение не закрыло то откроется с последнего окна и без всяких ошибок.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
13.10.2014, 14:40  [ТС] #7
Цитата Сообщение от dubok79 Посмотреть сообщение
Может у вас утечка памяти, раз оно не закрывается системой? Может какой Handler сидит в очереди и спит, поэтому система его и не выгружает...
В фоне есть только AlarmManager. Но и без него так же все.
0
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
13.10.2014, 14:42 #8
Проверьте, может хвосты сидят от объектов, ну там на onPause не стоит myobj=null. Странное какое то поведение.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
13.10.2014, 14:52  [ТС] #9
Цитата Сообщение от dubok79 Посмотреть сообщение
ну там на onPause не стоит myobj=null
Я так не делаю, это же после каждого поворота экрана или сворачивания\разворачивания все заново загружать, рассчитывать, отрисовывать - долго это. Да и не встречал такого нигде.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2014, 14:52
Привет! Вот еще темы с ответами:

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

Запуск BroadcastReceiver без активити - Программирование Android
Имеется приложение, включающее в себя единственный класс: public class MyReceiver extends BroadcastReceiver{ @Override ...

Запуск приложения при входящем звонке - Программирование Android
В общем необходимо сделать отвечалку на звонки кастомную нужно чтобы она открывалась вместо стандартной звонилки я отлавливаю звонок и...

Активити не уходят из памяти - Программирование Android
Всем доброго дня! Очень прошу помощи. Ситуация следующая: Делаю приложение, от которого требуется постоянное перемещение...


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
13.10.2014, 14:52
Ответ Создать тему
Опции темы

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