Android, что на самом деле происходит после принудительного закрытия приложения? - PullRequest
3 голосов
/ 31 октября 2011

У меня есть приложение на фондовом рынке.Когда пользователь входит в приложение, сервер отправляет мне сеансовый ключ.Этот сеанс действителен до тех пор, пока пользователь не выйдет из приложения или не сделает ничего в течение нескольких минут.

Моя первая проблема (которая уже решена) заключалась в том, что после входа в приложение пользователь нажимал кнопку «Домой» и после этого нажимал значок приложения.Теперь, после входа в систему, сообщение (отправленное сервером) показывает, что «ваш идентификатор пользователя используется».Я решил эту проблему, сохранив идентификатор сеанса в общих настройках.

Теперь клиент сообщил, что у нас возникла та же проблема на основе этой истории.

  • Вход пользователя в приложение
  • После этого пользователь нажимает кнопку «Домой»
  • Пользователь переходит к настройкам / приложениям / управлению приложениями
  • Выбирает приложение, а затем на странице «Информация о приложении» нажимает кнопку принудительной остановки
  • Пользователь снова возвращается в список приложений и выбирает приложение
  • После входа в систему отобразится сообщение «Session Expired» и приложение снова направлено на страницу входа
  • Теперь, когда пользователь пытается войти,вышеприведенное сообщение («ваш идентификатор пользователя используется») будет отображаться, пока не истек срок действия идентификатора сеанса.

Я хочу знать, что на самом деле делает кнопка «Принудительное закрытие»?Очищает ли он все случаи деятельности?Когда я нажимаю и удерживаю кнопку «Домой», я вижу, что у меня все еще есть экземпляр приложения в памяти.Следовательно, какова роль кнопки «Принудительное закрытие»?

  • Теперь, если пользователь введет свой пароль, «ваш идентификатор пользователя используется» снова будет отображаться.

Ответы [ 3 ]

4 голосов
/ 31 октября 2011

Когда любое приложение принудительно закрыто.

Приложение закрыто, и Android очищает всю память, занятую приложением.

Именно поэтому при принудительном закрытии приложения ваш static data member's are destroyed и удаляется из памяти. Здесь вы можете использовать SQLite DataBase для лучшей производительности.

ForceClose означает: Закройте работающее приложение и освободите память .

4 голосов
/ 31 октября 2011

На ваш вопрос ответили, но я хотел бы добавить один момент. Вы упоминаете, что

когда я нажимаю и удерживаю кнопку Домой, я вижу, что все еще у меня есть экземпляр приложения в памяти

Обратите внимание, что при длительном нажатии кнопки «Домой» вы видите список последних приложений и , а не список приложений, находящихся в данный момент в памяти. Следовательно, даже если приложение было принудительно закрыто, вы все равно увидите его в этом списке, поскольку оно недавно использовалось.

0 голосов
/ 31 октября 2011

На самом деле, когда вы просто возвращаетесь и выходите из приложения ....

см. В настройках телефона, приложение.

ваше приложение не было близко к нашему телефону.* он все еще жив и работает в бэкэнде.

после принудительного закрытия приложения также закрывается из бэкэнда.

...