我刚开始学习 android,我正在开发一个应用程序,它使用与 PC 上运行的服务器的套接字连接。我成功建立连接并能够在客户端和服务器之间进行通信,直到按下“主页”按钮或如果有任何 OnConfigChange 事件。
我在应用程序中有一个活动,它有一个按钮(比如“连接”)。当它被按下时,手机与服务器建立连接(所有套接字编码都在非 ui 线程中完成),并且我在成功连接时将 TextView(比如“状态”)更改为“已连接”。因此,当手机旋转或按下主页按钮时,应用程序将隐藏。当我回到我的应用程序时,活动从初始阶段开始。在最后一个会话期间创建的所有对象都被破坏并失去套接字连接。
我只是不明白,
1.为什么Activity的UI每次放到前面都要重新创建?
2.为什么android不能只保存活动的状态,直到用户真正想要退出(按后退按钮)?
3.为什么android不能像windows那样最小化应用程序并回到用户离开的最后一个状态(这样我就拥有了所有的对象和)?
4.我已经在非ui线程中完成了所有套接字操作,一旦用户按下主页按钮(不按下返回)离开,这个套接字连接就会关闭。如果是这样,那么我应该如何保存我在线程中使用的套接字对象在最后一审?
5.为什么要在“OnPause”期间维护所有的UI变化?为什么android本身不能做同样的事情?(因为当用户离开时它确实具有应用程序的状态,并且当用户回来时我需要返回确切的应用程序状态)并在用户返回应用程序时恢复相同的状态?
我已经做了两年的开发人员,并且是 android 的新手。请对上述问题有所了解。