【发布时间】:2014-01-30 15:43:07
【问题描述】:
我是一名 Android 开发人员,但遇到了一个烦人的问题。
在我的 onCreate 函数中,我建立了在线程中运行的套接字通信。
当我在前台使用应用程序锁定屏幕然后解锁屏幕时,应用程序转到 onCreate 函数,它发现另一个线程和套接字已经在运行,并且“新”onCreate 破坏了所有进程。
否则,如果我在后台使用应用程序锁定屏幕,则应用程序不会进入 onCreate 函数,并且可以正常工作。
有什么办法可以在按下屏幕锁定按钮时将应用程序转入后台?
首先抱歉,我的英语太差了。 其次,我不能展示任何代码,因为它不是我的,而是我的公司。
谢谢!
【问题讨论】:
-
您是否考虑过使用服务?
-
你需要知道的是为什么activity会被recriated,阻塞屏幕应该只是暂停activity,而不是破坏它。查看this link 了解活动生命周期。
-
您可以像@RocketSpock 所说的那样使用服务,也可以使您正在运行的线程静态建立套接字,因此只能创建一个实例并检查它是否不为空创建一个
标签: android multithreading sockets lifecycle