service的生命周期
基础知识-service的生命周期
service有onCreate(),onBind(),onStartCommand(),onDestory()函数,大家可以用log的方式打印一下就可以体会到他的调用顺序。如下所示:
public class TestService extends Service {
@Override
public void onCreate() {
Log.d("Service","onCreate");
super.onCreate();
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
Log.d("Service","onBind");
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d("Service","onStartCommand");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
Log.d("Service","onDestory");
super.onDestroy();
}
}
startService方式的特点
1.startService第一次的时候会调用onCreate(),而且只会被调用一次,不管startService被执行多少次。
2.每次调用的时候都会执行onStartCommand()。
2.除非使用stopService(),否则service是不会被停止的。