【问题标题】:Does Activity that bind to a Service will keep run in background?绑定到服务的活动是否会在后台继续运行?
【发布时间】:2015-03-13 09:56:29
【问题描述】:

我有一个在位置监听器中接收位置的活动。 该活动通过 startService() 启动服务,然后使用 bindService() 绑定到该服务,以便与该服务共享数据。

绑定和解除绑定是响应 onClick 中的按钮单击完成的。 类似:

onClick(){
  if(!bind){
         startService(serviceIntent)
         bindService(serviceIntent, mConnection, Context.BIND_AUTO_CREATE);
         bind=true;
}else{
      unbindService(mConnection);
      stopService(serviceIntent);
      bind=false;
    }
}

现在我的问题是,在某些时候我的 Activity 会像按下 Home 按钮一样进入后台,并且服务继续运行并且绑定仍然完好无损!

那么这个绑定将有助于保持 Activity 在后台运行吗?

该服务是一个带有相关通知的foregroundService,当用户推送通知时,它将打开后台Activity。

【问题讨论】:

    标签: android android-activity android-service android-service-binding foreground-service


    【解决方案1】:

    不,活动可以随时销毁,而在后台取决于您当前在系统中的内存状态(如果您的应用程序在系统中的优先级不够高,而 android 需要释放内存,它可能会被销毁)。该服务当然会继续运行,如果它被设置为 STICKY + 您设置的通知,则保持这种状态。但不能保证活动在后台的任何时候都会保持活跃。

    【讨论】:

      猜你喜欢
      • 2021-01-01
      • 1970-01-01
      • 2014-03-18
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      相关资源
      最近更新 更多