00:00
生命周期这这个图,这个图从哪来的呢?大家可以把那个文档。就是API向导可以打开。点一下它。好在这里面有一个关于service的这个描述是service什么好,这里面有service说明,大家可以去看啊,实际上我跟大家已经把它翻译成中文了。这是干嘛呀?不信空啊,不用管它啊,下面呢,就说它的service的一些生命周期方法,往下翻,往下翻啊,翻到最下面看到那个图为止啊。哎,在这。是不是图来了这地方呢?这个图呢,分为左右两个两边,左边调用的是start service的生命周期,呃,右边调了什么棒的service的生命周期。
01:03
能看懂吧,好。大家看,如果是是大的service,它会经历什么呢?On create,诶,还有一个方法我没用。On command呀,啊这样一个方法,好,这种方法经历以后,我的service才处于什么运行的状态。他这个图里面有一个事情没有表象,什么事情没有表现呢?就是我如果说已经启动了,我再去十大的service,他会怎么做?对吧,他会这么做。如果他已经启动了,我再去调用start service。他就会再次去调用on start command,这一点非常有用。啊,对于我们开发过程中还是挺有用的一个方法。啊,最终我的service运行起来了,运行起来以后我是不是可以调用什么呀。
02:00
是多么service吧?对吧,那stop service在这里面大家看呢啊,它就会调用on destroy。有人可能在想,诶,20多会怎么没了?是吧,它没有就没有,不一定要有,对吧,它设计的时候就是没有onto,就直接就是on destroy。最终我的service是不是挂掉了呀。大码挂掉了,这是一个。好,还有一个大家看,叫b service。I'm great。Among。这个时候什么意思,大家看看,这个时候挺有意思的,你看左边说的是service运行了吧,他并没有说service跟我的客户端。产生了什么关联吗?没有连接吗?看这里。什么意思,客户端跟我的服务端进行什么绑定了,连接上了,说白了就是对不对。
03:00
好。这里面还有一句话。Was什么意思?为什么叫war呢?这是我的service啊,当前activity我们是不是跟他启动给它关联绑定了呀,它这里面为什么要加物呀?为什么加S呀S。什么意思?就是我可能还有别的activity跟他绑定,甚至还不一定是activity的对不对,也可以是别的应用组件跟他绑定。能懂吗?啊,能懂好啦。那他说的意思,如果所有的客户端。是不是调用什么。On bound service才会去调用。UN unbound。怎么个意思呢?譬如说我现在有两个客户端activity跟我的service关联了。
04:00
那我断开我调用on帮的service,你说那个service会调用on帮的吗?不会,你看到我们为什么会呢?我们就是最后一个对不对,现在就说了,如果是最后一个绑定的客户端。跟他断开啊,调用啊,放到service的话,它就会经历下面的生命周期。因为我们刚才是不是就一个呀啊,所以就会去调用on on destroy。啊,秀当挂了。对吧。啊。这是这一个是啊,这里面来我们来去看一下。去测简单的测试一下啊,测试我们的及时的测试差不多啊。来,我把一切方法跟大家说一下,先start service会经历on create,接着呢,On start command跟大家说一下啊,以前呢是用的这一个方法,但这个方法已经被淘汰了啊,为什么会过时呢?是因为它可能满足不了需求,你看他这个这个新方法就比前面多了一个,是不是多了一个flag呀啊,多了一个一个标识啊,就是以前的方法已经过时了,但是肯定还会掉啊,它因为了去向下向下兼容嘛。
05:28
好,我们不用以前那个用,就用这个来,我把这一个呢给它。打印输出一下就得了,这是一个。嗯,好像没有什么别的了吧,On棒的写了,On棒的写了on destroy写了,这个里面的回调话是不是都做了呀?嗯,对吧,好。现在我们就简单的测试一下它的生命周期流程,看一下。
06:00
啊,就把重点的给大家测试一下来,我给他运行一下。好来,先来说启动。Start service啊,也就是说第一次启动的时候,我们认为啊,大家看到先来看的是start service美女吧,Start service呢分为第一次调用。它具定哪些方法,首先是什么构造方法吧,那就创建对象对不对,创建对象好了,接着接着美女吧,好,下面。重点我们要看一下第二次或者后面的吧,我说第二次后面再调用啊,这个是我们必须要知道的东西,因为后面会用到这一个,看着啊,我再点一次走。
07:12
是on study,也就说只是经历一下它就可以了。嗯,好了吧,嗯,也就是说我以后每次点。都是。是吧,这个是有用的啊。好,下面我们来看停止服务。走。是吧?那service来看一下调用那个多service。Service的经历的,我简单的给大家做一下,来写一下经历,哪个方法呢?就是on destroy是吧,好。
08:09
就是这一个啊,没什么太大,这个看我再点一下,看看会有个什么效果,大家说现在我再点。没有效果。杀一下,因为他又没启动你,你点他他也没用啊对不对。啊好,这个我就不看了,下一个叫棒的service。这个b service的时候,它传的也不太一样,跟大家说一下这个是不是传一个intent呀,这里面有两个重要的参数,那不太重要,我就说叫什么service connection,传了一个这样的一个连接对象,好了我们来看啊。我们我们调那个那个不用了啊,不用你不用记那个那个这个没意义啊,来我们来看第一次调用。
09:03
试一下啊。点。会经历什么?构造方法on create接着是什么?不一样了,出现不一样的地方了是吧?On什么呢?好,接着on service connected。能理解吧,好,下面我们后面要再去绑定是一个什么样的这个地方我们做了主要是啊,现在我们应该是测不出来,为什么测不出来了。因为它我们是不是已经做限制了呀,是不能让他去反复的绑定吧,就咱俩已经关联了,就没有必要再什么。再反复的去绑定,就咱俩已经关联上了啊,就是不会啊,大家就知道第一次就OK了,好下面绑定以后呢。
10:07
是不是解绑啊。啊,解绑。好,来这个地方。就是他吧,调用下面就是on on the service帮的service,它这里面会建立哪些,首先呢是on on帮的,但这不一定。是吧,这里有个条件。是什么?当前是只有啊,就是只有当前activity与service是不是连接呀,对吧,当前如果只有它连接,那么就会经历它对不对。
11:02
OK,我在这里面写个括号来括起来,好,下面来个它,再接着是on,是不是destroy啊,嗯,就OK了。这是这一个啊,重点我希望大家,因为我们后面用到的东西是大家重点需要学的就是。他。别到时候我再问大家的时候,大家完全不知道。好,这是关于service的一些生命周期的一些概念啊,大家需要去理解一下,重点把它。知道一下就OK了。
我来说两句