我正在尝试构建一个在单独的线程中在后台运行的倒计时器。我正在使用前台服务并将处理程序传递给此服务的后台线程。基本上,活动将与服务通信,服务将与线程通信。
基本上,当用户从最近的应用程序中关闭应用程序时,我需要计时器继续运行。
这样做的最佳设计是什么?
您将需要使用已启动的服务和startForeground()。
startForeground()
查看this问题了解详情。
此外,如果您在单独的流程中创建服务,它将解决您的问题。
Here是一个很棒的教程
已启动的服务可以使用startForeground(int,Notification)API将服务置于前台状态,系统将其视为用户主动了解的内容,因此在内存不足时不会成为查杀的候选者。
就像Ivan之前所说的那样,它是startService(),绑定调用和startForeground()调用的组合,以保持服务在后台运行。不需要单独的过程来执行此操作。