Android:如何在应用程序可见时运行服务?

时间:2011-04-06 00:12:56

标签: service android

每当我的应用程序中的一些活动可见时,我希望服务在后台运行。

我目前正在Application的子类中绑定它,就像这样:

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
         bindService(new Intent(this, MyService.class), mServiceConnection, BIND_AUTO_CREATE);
    }
}

但是,没有相应的onDestroy方法解除绑定服务。当最后一个活动关闭时,服务将继续无限期运行。

  1. 这样可以吗?我是否应该允许操作系统在内存不足时关闭服务?
  2. 或者,有没有办法在每个活动的基础上执行此操作?

1 个答案:

答案 0 :(得分:0)

可以很容易地完成。将服务绑定到前台活动。只要活动处于活动状态,Android就会保持服务的正常运行。

当所有活动都未绑定时,服务将自动死亡。 (当所有绑定活动都消失时,onbind调用的服务将自动死亡)。只有当您使用onCreate创建服务时,您才应该担心ondestroy。