Я новичок в разработке Android и до сих пор не могу понять методы onPause()
и onStop()
в действии.
В моем приложении у меня есть статический класс, который я называю Counter, и он сохраняет состояние переменных в памяти для приложения. Мое приложение отлично работает в эмуляторе. То, что я пытался проверить, было дифференциальным поведением onPause()
по сравнению с onStop()
.
Для onPause
я хотел, чтобы значения, хранящиеся в членах класса Counter, сохранялись, тогда как при вызове onStop()
я хотел, чтобы значения счетчика были сброшены на ноль. Поэтому я переопределяю onStop()
и устанавливаю переменные внутри класса счетчика равными нулю. Однако в эмуляторе я не могу получить приложение в состоянии паузы. В эмуляторе я открываю свое приложение, тренирую его. Затем я нажимаю кнопку «Домой» (не кнопку «Назад») эмулятора и запускаю другое приложение, полагая, что это будет имитировать действие onPause()
. Однако эмулятор, похоже, не соблюдает это (я использую эмулятор armeabi v7a), он, кажется, всегда вызывает onStop()
, потому что все значения моего счетчика возвращаются к нулю в соответствии с моим переопределением в onStop()
. Это присуще эмулятору или я делаю что-то не так, чтобы поставить свою активность в состояние паузы?