我有一个带登录屏幕的应用程序,可以将用户带到启动画面。如果用户离开应用程序然后再次单击启动器图标,则必须重新登录。只有在我使用apk文件在设备上安装应用程序时才会发生这种情况。如果我在调试模式下运行它,eclipse连接到设备,那么这不会发生。在调试模式下,如果我在导航离开应用程序后单击启动器,我会回到我的启动画面,这是预期的行为。
问题是如果我使用apk文件在设备上安装应用程序,我不知道发生了什么。我无法访问日志或调试。启动画面不会在恢复时自动注销。
有谁知道为什么会发生这种情况或者我将如何进一步调查?
答案 0 :(得分:1)
看看This Page。
我认为可能发生的是在onPause或onStop方法中触发某些内容会导致您的会话信息被忽略。是否调用Pause或Stop是可用资源的问题,在调试和正常运行模式下可能会有不同的结果。
我建议将这些功能添加到您的活动中,查看哪些功能(以及他们的创建和恢复合作伙伴),并确定这是否是您的问题的原因。
我个人遇到类似的问题,当应用程序失去焦点时,资源被释放。
答案 1 :(得分:1)
我想通过说“当用户导航时”,你的意思是用户转到另一个应用程序或做其他事情。因此,根据该情况,您的应用暂停时会调用onPause()
,而当您的应用被销毁时会调用onSaveInstanceState()
。
因此,您可能希望在onPause()
和onSaveInstanceState()
中明确执行 的注销操作,以便您的应用具有一致的行为。
答案 2 :(得分:0)
我确实覆盖了生命周期方法,但这个建议有效:
App completely restarting when launched by icon press in launcher
简单的设备重启可以解决问题