首页 > 学院 > 开发设计 > 正文

Service两种启动方式的生命周期

2019-11-08 00:28:09
字体:
来源:转载
供稿:网友
注:Service的生命周期中onStart()方法被淘汰,用onStartCommand()代替。onCreate():在服务被创建时执行,一个服务类只能调用一次。onStartCommand():在服务开始时被调用执行,可以被调用多次。onDestroy():销毁服务,一个服务类中也只能调用一次。服务和进程,每个APP的启动必然会产生一个进程。一个进程中可能会包含多个服务,也可以不启动任何服务。当然如果一个进程被杀死了,那么这个进程中所包含的所有服务都会被杀死。服务有两种启动方式:1.第一种,startService的启动方式,此时与应用无关,即使app关闭也不会停止,而是在后台运行。关闭这种服务只能调用stopService方法。同一个服务没有被stop时,只会走一遍onCreate(),其余每次点击启动同一个服务时,都只走onStartCommand()方法。2.第二种,bindService的启动方式,其特性是随着Activity的生命周期变化而改变。如果启动后没有结束时,则不会再次启动(不再执行任何生命周期,即再次点击无效);如果启动后,手动结束,则可以再次开启;如果启动后,Activity(绑定的)退掉时,则服务结束。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表