我的活动启动前台服务。我暂停了“活动”(通过单击“主页”或将其从最近的列表中删除),并且前台服务继续运行,这是期望的行为。
如果我随后重新启动我的Activity(通过单击Apps-> MyActivity),则似乎开始一个新的前台进程,这意味着我将同时运行两个(或多个)同一进程。如果按“后退”暂停该活动,则会在日志中看到该进程已泄漏的错误。
The error:
Activity com.mypackage.foreground.MainActivity has leaked ServiceConnection com.mypackage.foreground.MainActivity$1@aa2d453 that was originally bound here
问题是,如何确保只有一个服务实例存在?如果重新启动“活动”,如何使现有服务保持运行状态,或确保新服务替换现有服务?