Java 是否可以通过编程要求Android保存InstanceState?

Java 是否可以通过编程要求Android保存InstanceState?,java,android,Java,Android,我是Android新手,正在制作我的第一个真正的应用程序,它使用socket.ioJava客户端与我的Node.JS服务器实例通信。我最近在测试时发现,只要有必要调用活动的活动上的onSaveInstanceState(),操作系统就可以杀死后台应用程序,然后当您切换回应用程序时,它会使用捆绑包重新创建以前的状态,该捆绑包作为onCreate()方法中的参数传递 所以现在我知道了,我需要实现一个解决方案,使应用程序能够正常工作,所以我希望在得到正确的解决方案之前,我必须测试一些解决方案。而且,如

我是Android新手,正在制作我的第一个真正的应用程序,它使用
socket.io
Java客户端与我的
Node.JS
服务器实例通信。我最近在测试时发现,只要有必要调用活动的
活动
上的
onSaveInstanceState()
,操作系统就可以杀死后台应用程序,然后当您切换回应用程序时,它会使用
捆绑包
重新创建以前的状态,该捆绑包作为
onCreate()
方法中的参数传递

所以现在我知道了,我需要实现一个解决方案,使应用程序能够正常工作,所以我希望在得到正确的解决方案之前,我必须测试一些解决方案。而且,如果只是锁定屏幕并查看服务器日志等待

用户断开连接


(每次尝试都会花费很多时间),我想知道这里是否有人也遇到过同样的情况,并想出了一种方法,让操作系统在我锁定屏幕或按下音量下降按钮或类似的东西时立即关闭应用程序。

您是否在设备设置中尝试过“开发人员选项/不保留活动”?使用此选项,用户一离开活动就会立即销毁它们。我刚刚尝试过这样做:似乎调用了
onSaveInstanceState()
,但
socket.io
connexion会保持活动状态,而当应用程序在长时间屏幕锁定后被终止时,
socket.io
connexion stop所以刚刚尝试删除此选项,
onSaveInstanceState()
在我点击Home按钮时会被调用。使用此选项,当您离开活动时,活动的onDestroy方法将被调用。也许您可以通过编程方式关闭onDestroy方法下的连接?如果我在使用
socket.io
的每个活动的
onDestroy()
下关闭连接,我将失去拥有持久连接的所有好处。您是否在设备设置中尝试过“开发人员选项/不保留活动”?使用此选项,用户一离开活动就会立即销毁它们。我刚刚尝试过这样做:似乎调用了
onSaveInstanceState()
,但
socket.io
connexion会保持活动状态,而当应用程序在长时间屏幕锁定后被终止时,
socket.io
connexion stop所以刚刚尝试删除此选项,
onSaveInstanceState()
在我点击Home按钮时会被调用。使用此选项,当您离开活动时,活动的onDestroy方法将被调用。也许您可以通过编程方式关闭onDestroy方法下的连接?如果我在使用
socket.io
的每个活动的
onDestroy()
下关闭连接,我将失去拥有持久连接的所有好处。