关于service的理解
经过start启动的service由独立的生命周期,不依赖该组件。多次调用start会多次调用onStartCommand ,start启动的service必须通过调用stopService或者stopSelf来停止service(intentservice会自动调用stopself)
多次调用onbind 只会调用一次onBind
bind绑定的service依赖于组件 ,组建销毁,service销毁
同一个service 先start 后bind 停止先unbind 再stopservice 执行顺序无要求 最后一个执行的会导致onDestory执行
startCommand四种返回值的区别
0 为了兼容版本,service被杀死后,并不保证该方法被再次调用
1 被杀死后会保存状态但不会保存intent 之后会尝试重启 并重新回该方法 注意intent可能为空
2 常规操作 除非死之前由调用startservice否则系统不会保留状态并重启
3 被杀死后会组织重启,被杀死钱最后一次传递的intent会重新传递(调用后stopservice则不会传递)
网友评论