我有一个应用程序,其中有一个要服务的 UART(串行通信)和其他几个需要单独的工作线程来保持 UI 响应的“任务”。我的问题是了解我应该在何时何地创建这些线程以及它们何时终止。目前,我正在主 UI Activity 的 OnCreate() 中创建它们。但是,这会造成严重破坏,因为我最近需要从一个 Activity “跳”回主要 Activity 。建议使用带有适当标志的 Intent 和 StartActivity() 以“清除到顶部”。但是,这当然会为我的线程带来一组全新的实例,并且一切都会瓦解。我应该使用以某种方式绑定(bind)到我的 UI 的服务吗?我已经将我的主应用程序子类化,所以我有我的应用程序的 OnCreate() 。我倾向于那个,但似乎无法掌握应用程序与 Activity 的生命周期。
最佳答案
使用服务。您有一项正在进行的任务,该任务本身并不附属于某项特定 Activity 。
您可以使用 startService
启动长时间运行的任务并且该服务在完成之前不会被终止。同时,Context#bindService
将在服务绑定(bind)任何内容时保持服务 Activity 。
关于Android 工作线程和应用程序生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284704/