我正在编写我的第一个独立Android应用程序。它将处于后台并响应操作系统生成的一些事件,根据用户的不同,每周几次到几次。
来自PC编程背景,我想我可能需要一项服务,但Android Developers > Service说:
What is a Service?
关于Service类的大多数混淆实际上都围绕着它不是:
- 服务不是一个单独的过程。 Service对象本身并不意味着它在自己的进程中运行;除非另有说明,否则它将在与其所属的应用程序相同的过程中运行。
- 服务不是一个线程。它本身不是从主线程开始工作的手段(以避免应用程序无响应错误)。
应用程序不需要消耗任何资源,除非它正在侦听的事件之一发生。用户在设置后也不需要主动使用应用程序,只有在他们想要更改其设置时才需要。
我的游戏似乎与我想要的东西类似。他们坐在后台并可以接收消息(例如现在轮到我了),当我点击通知时,它会将游戏加载到内存中,这比内存中的内存要花费几秒钟。
如果用户一个月没有使用应用程序的界面,我希望它仍然在运行(即使设备已经重启)并响应事件但不会出现在最近的应用程序列表中(假设一个月足够长,可以推迟它。)理想情况下,我希望它在一秒钟内响应事件;它不一定是近乎即时的。这样做的正常方法是什么?
没有足够的声誉评论,但只是告诉你没有什么可以阻止Android杀死你的服务,要在用户重启手机后重启你的服务你可以添加一个广播接收器并听取https://developer.android.com/guide/components/broadcasts
。另外,如果您不希望在服务运行时显示通知,则必须使用后台服务而不是前台服务。希望这有帮助。