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

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

Войти
Регистрация
Восстановить пароль
 
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
#1

После засыпания вызывается onCreate и onRestoreInstanceState - Программирование Android

08.01.2016, 23:43. Просмотров 249. Ответов 10
Метки нет (Все метки)

Привет.
После засыпания вызывается onCreate и onRestoreInstanceState, зачем они вызываются и как обойти?
У меня программа для работы по сети в onSaveInstanceState ставит флаг о том что была онлайн перед onStop, и потом в onRestoreInstanceState восстанавливается связь, получается программой не пользуются а она пытается соединиться с сервером. Как решить ?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2016, 23:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос После засыпания вызывается onCreate и onRestoreInstanceState (Программирование Android):

Сразу после нажатия Power вызывается OnCreate. Почему? - Программирование Android
Здравствуйте. Пишу вообще под Mono.Android, но в той ветке глухо, да и код очень похож на Java, так что это я думаю не проблемма, да и...

OnCreate вызывается дважды - Программирование Android
Добрый день. Делаю простое приложение, которое при нажатии на кнопку, с помощью Intent должно переходить на следующее активити. Но проблема...

Метод вызывается только после второго нажатия на кнопку - Программирование Android
есть метод import com.github.nkzawa.emitter.Emitter; import com.github.nkzawa.socketio.client.Ack; import...

NullPointer в OnCreate - Программирование Android
Наверное типичный вопрос, но вылетает ошибка в: Caused by: java.lang.NullPointerException ...

Перегрузка OnCreate - Программирование Android
Гуру ООП, помогите исправить "конфликт" Написал свой класс-предок для активити(MyActivity), где в onCreate добавил несколько...

viewPager onCreate method - Программирование Android
Всем здрасьте, возник следующий вопрос по ViewPager: Создаю viewPager и заполняю его в методе OnCreate главной активити: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2471 / 1916 / 595
Регистрация: 12.05.2014
Сообщений: 6,741
Завершенные тесты: 1
09.01.2016, 17:22 #2
гадать на кофейной гуще?
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
09.01.2016, 17:24  [ТС] #3
Паблито, если умеешь.
а что бонально код onCreate и onRestoreInstanceState показать где записан Log.d...?
или видео показать чего еще сказать?
Pablito
2471 / 1916 / 595
Регистрация: 12.05.2014
Сообщений: 6,741
Завершенные тесты: 1
09.01.2016, 17:30 #4
бАнально надо видеть код
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
09.01.2016, 17:55  [ТС] #5
Паблито, Хорошо, без проблем, вот
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("mbCanva", "### onCreate");
}
 
protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        Log.d("mbCanva", "onSaveInstanceState");
    }
protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        Log.d("mbCanva", "onRestoreInstanceState");
    }
@Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d("mbCanva", "### onDestroy");
}
@Override
    protected void onStart() {
        super.onStart();
        Log.d("mbCanva", "### onStart");
    }
@Override
    protected void onStop() {
        super.onStop();
        Log.d("mbCanva", "### onStop");
}
@Override
    protected void onResume() {
        super.onResume();
        Log.d("mbCanva", "### onResume");
}
Нажимаю кнопку питания, экран гаснет
логи

onSaveInstanceState
### onStop
### onDestroy
### onCreate
### onStart
onRestoreInstanceState
### onResume


Экран выключен, нажимаю опять кнопку питания и разблокирую экран

### onResume
onSaveInstanceState
### onStop
### onDestroy
### onCreate
### onStart
onRestoreInstanceState
### onResume
Pablito
2471 / 1916 / 595
Регистрация: 12.05.2014
Сообщений: 6,741
Завершенные тесты: 1
09.01.2016, 18:19 #6
странно вообще
и что, нет в коде нигде finish() ?
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
09.01.2016, 18:20  [ТС] #7
Паблито, нет
точнее есть на onBackPressed там диалог с сохранением
Pablito
2471 / 1916 / 595
Регистрация: 12.05.2014
Сообщений: 6,741
Завершенные тесты: 1
09.01.2016, 18:35 #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
странно не то, что вызывается onCreate, а то, что срабатывает onDestroy()

Добавлено через 4 минуты
можно попробовать вот что
добавить в манифест, внутрь с тегом активити, строку
XML
1
android:configChanges="orientation|screenSize"
тогда при смене ориентации и подозреваю при выключении экрана, активити не будет пересоздаваться
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
09.01.2016, 18:44  [ТС] #9
Паблито, добавил
теперь при засыпании
onSaveInstanceState
### onStop


при разблокировке
### onStart
### onResume


onRestoreInstanceState не вызывается.
Pablito
2471 / 1916 / 595
Регистрация: 12.05.2014
Сообщений: 6,741
Завершенные тесты: 1
09.01.2016, 18:55 #10
логично, а зачем его вызывать если активити не убивалась?
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
09.01.2016, 19:11  [ТС] #11
Паблито, всё, вроде работает как надо, буду тестить на куче эмуляторов терь.
да я понял что если нет destroy, то переменную можно тупо глобально сохранить в onStop и прочесть в onResume.
спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2016, 19:11
Привет! Вот еще темы с ответами:

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

Программа вылетает в методе OnCreate - Программирование Android
Программа вылетает со следующей ошибкой: 586-3586/spsoft.myapplication E/AndroidRuntime: FATAL EXCEPTION: main ...

Подскажите - программа вылетает в OnCreate - Программирование Android
Я действительно совершенно безпонятия от чего она это делает! Программа вылетает на super.onCreate(savedInstanceState); Вот лог ошибки: ...

Не передаются данные между onCreate и onResume - Программирование Android
Значение переменной изменяется после загрузки. НО! В onCreate есть TextView который использует это значение. Но судя по размеру текста, оно...


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

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

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