即使在BroadcasterReceiver执行后,Android进程也未终止

即使在BroadcasterReceiver执行后,Android进程也未终止,android,process,broadcastreceiver,Android,Process,Broadcastreceiver,我在android应用程序中使用网络更改侦听器(在清单中),在这里我可以观察到一旦应用程序接收到任何广播,即使在广播接收器执行完成后,应用程序进程仍会继续运行。我在连接到studio时在调试构建中观察到这种行为,这也是实时的行为吗?是的,这是预期的。通过触发BroadcastListener,Android系统启动了应用程序的进程。然后,它将保留此进程,直到需要终止它以获取资源为止 这并不意味着应用程序的任何与用户相关的组件(如活动,服务等)都在后台运行。只是流程,它是一个“盒子”,里面包含所有

我在android应用程序中使用网络更改侦听器(在清单中),在这里我可以观察到一旦应用程序接收到任何广播,即使在广播接收器执行完成后,应用程序进程仍会继续运行。我在连接到studio时在调试构建中观察到这种行为,这也是实时的行为吗?

是的,这是预期的。通过触发
BroadcastListener
,Android系统启动了应用程序的进程。然后,它将保留此进程,直到需要终止它以获取资源为止


这并不意味着应用程序的任何与用户相关的组件(如
活动
服务
等)都在后台运行。只是流程,它是一个“盒子”,里面包含所有内容:-)

您希望流程不在后台吗?是的,我在我的库中跟踪应用程序用户的应用程序使用时间,但它破坏了一切。我在应用程序类中捕获开始时间,在onStop回调中捕获结束持续时间,但在这种情况下,我无法获取结束时间戳,如果会话继续,直到用户启动应用程序并推送到后台。即使是我也不能要求开发人员在每次接收之后终止进程。你有什么解决方案吗?嗯,你应该只计算应用程序中与用户相关的组件的时间,如活动、服务等,因此“这并不意味着你的应用程序在后台运行”这是一种非常令人困惑的说法。它实际上是在后台运行的,只是什么也不做。重新措辞以减少混乱^^