Android -- service的两种方式和其各自的生命周期

启动Service的方式有两种:startService和bindService;

startService:用这种方式启动的service由于没有和Activity进行绑定,所以可以长期在后台运行,但不能调用服务里的方法。用这种方式启动的service的生命周期如下:
onCreate()、onStartCommand()、onDestroy()。
第一次启动后,如果没有调用stopService()方法,再次调用startService()方法,不会重走onCreate(),但是会重走onStartCommand();

bindService:用这种方式启动的service会和Activity进行绑定,所以不能长期在后天运行,但是能调用服务里的方法。它的生命周期如下:
onCreate()、onUnbind()、onDestroy();一个服务可以被多个客户(一般指Activity)绑定,只有当所有的被绑定的对象都调用的onUnbind()方法,该service才算销毁。

你可能感兴趣的:(Android -- service的两种方式和其各自的生命周期)