00:00
啊,那我们还接着上午这个内容来说,上午呢,我们还是在说这个contest它的一个问题,Con这个问题呢,我们打开继续来看一下。哎,上的话呢,我们主要呢,呃说了一下CONT2个作用啊,一个呢就是调它里边的常用的方法,第二个呢,就是它作为这个,呃13呢,我们经常呢,去创建其他的一些组件啊,视图的时候呢,要用到啊,这是我们说的这两个应用场景啊,下边呢,就把这个具体应用场景打开啊,涉及到的哪些方法的一个调用啊,然后具体这个此类这块呢,我们上午呢是说了一下这个application啊呃,Application它这个特点呢,就是每个应用呢,只有一个此实例。啊,我们说了啊,这就是一个单利模式了,然后这个contest类型的对象呢?啊,只要是con类型对象都可以得到这个对象啊,我们在里边可以get vacation啊,在我们的这个service里边。Service。Service里面呢,也可以调用get获取我们当前的。
01:02
啊,因为的话呢,就是嗯,刚才我们我们上午也讲到了啊,你整个这个应用的生命周期当中,你这具体的一个组件啊,调用这个整个生命周期中存在这个application肯定是可以掉的啊,所以呢,我们直接get每次呢都会掉到都不会出现空的行。嗯,这是这个,哎这呢体会这句话啊,应用全局数据内存级的共享容器。啊,可以把这个数据呢,放在MK当中啊,供不同的组件之间进行调用。啊,Application的一个生命周期里边呢,主要提到了两点,第一个呢,创建。啊,我们上回演示了啊呃,应用只要一启动,只要你加载到内存当中啊,这个时候呢,我们的application呢就创建了。嗯。嗯。好,然后呢,它是早于activity的,我们也演示了,哎死亡的话呢,就是应用退出啊,Activity并不会销毁啊,这个退出呢,就是我们比如activity TK退出了,是这样啊啊,只要你这个进程还在啊,这个对象呢,就在当你进程要被杀死,或者被动主动被动的被杀死的时候呢,哎,他就没有了。
02:09
啊,当然内存不足的时候呢,呃,系统呢,把这个空的进程也给干掉了,这个时候呢,也就没有了啊。嗯,这个这里边儿提到一点就是系统呢,在内存普通的时候呢,会优先的将空的进程占掉。啊,是这样的。那这个手机的话呢,我们说现在这个配置其实已经是挺高了哈,这个内存的话,现在很多旗舰都达到六个GB了,然后呢,这个苹果去年那时候出的时候出来个128GB的这个存储空间啊,大家觉得都挺大的,那今年的话呢,都到256了是吧,256GB啊,这是相当于我们电脑硬盘一样,这就相当于那个内存一样。嗯嗯,然后呢,这个CPU呢,目前这个主频也挺高了是吧,像这个高通的现在是2.2.3了吧,啊G赫兹啊。
03:00
然后呢,嗯,这个这个呃,以前是单核的,然后两个核的,四个核的,八个核的,十个核的都有啊就是但是呢,就是它这个,嗯,手机的这个主频你说达到2.3G赫磁,它其实跟电脑2.3G赫磁还是有差距的。大概也就1/14,大概这样啊,因为它这个架构不一样是吧。啊,这个都是基于是不是ARM架构的。哎,我们电脑像那个叉八六啊是吧,叉六四啊,还有不同的架构方式啊,所以主频你看的一样,但其实架构方式不一样,它这个运算的能力还是有差距的啊嗯。啊,所以说呢啊,当然内存的话呢,6GB,那那就是真的是6GB了啊,所以这个内存空间目前还是比较宽裕的。行,这个呢是我们说的这个事情,然后下边一个呢,我们要说的什么呢?就是主要呢,就是看看他们这个区别了哈,区别呢,其实我们已经提到了,在这个生命周期方面是最短的啊,Application呢是最长的啊,那这个service呢,我们就可以放在中间。
04:08
啊,这个应该也清楚吧。你service的话呢,可以通过FTP给他启动起来是吧,Start起来,那大完以后呢,我一退出他挂了,他还活着。啊,所以呢,它肯定是要比他要可能长一些啊,那这个呢,那更长进程在他就在。那那你我们在这个呃,应用当中,你还可以通过it去stop一下,那显然你这个要短一些啊,它呢是最长的。好,那下面我们主要会关心,关心的是这个问题啊嗯,我们在一些位置需要这个contest参数了。啊,需要这个参数的,那到底我们是用activity还是用application,哪个更合适,还是说呢,有些情况下呢,都可以啊主要呢,我们来关注一下这个问题。好看这啊。说呢,如果你是使用dialogue。
05:01
啊,使用dialogue的时候呢,必须呢,要用activity。啊,Diallo就是我们说的啊,比如我们这呢是一个activity了啊activity呢,我们这study service行,我就顺便在这个button那块写一个啊又一个D。我造一个alert dialogue这个title view呢就干掉了啊,Title呢你就写一个测试,哎,这个位置呢,是需要一个contest。那这个contest的话呢,哎,我们这里说了啊,说只能够用application,嗯,只能用application去充当。啊,这个是正确的,我就不演示了啊,当你呢,使用application,那就写成一个this get application contest。或者盖在皮疹啊都可以,那这个时候呢,它就会报错。来看一下它的运行效果。
06:08
那这时候呢,我点击一下。一点滴他就挂了啊。啊,这个呢,就相当于告诉你这个是不行的啊,所以这个呢是需要格外注意的,他呢只能够使用啊activity作为contest的一个实例,嗯。这个我们也说了,其实呃,这个aler dialo我们这样造的哈,咱们讲这个IT生命周期那时候也说了,你出来个ler dialo,其实它跟后边这个IT实际上是不是一体的呀。啊,出来一个这个,那我们后边这个T目前是处于一个什么状态啊。哎,我出来个a dialo啊,A dialo不是我们自己就造了一个activity,然后activity设置成一个dialo的主题了,这我直接又拗一个,是不是还是运行状态啊,哎,对啊,因为它呢,你就这不是一个新的it了啊哎,你把它其实就看成它,它是它的一部分了,所以只能够用activity t。
07:06
好,嗯,下边这个说,如果呢。嗯,使用adapter adapter中初始化convert view的时候说最好呢是使用activity,这呢我们在当前咱这个应用当中不就是这个事吗。咱们是在界面中是不是各种地方调用这个view.in呀,啊在这个时候调的时候呢,呃,这个位置就需要用contest,还说呀,嗯,最好是用还是T。啊,咱们这时候呢,就是用这个用这个它首先呢不会报错了。啊,但是区别呢,就是比如说你字体的颜色,这个跟这个不一样。然后同时呢,就是我们测试的我们这个,呃,相当于是第二个外投资这个页面的时候呢,发现呃,这个主题能不能应用上啊,那这时候呢,跟你用的这个contact实例有关系。那所以最好能用它的话呢,就用它。啊,或者说大家你就可以呃,记一下这个点呀,就以后呢,你这样加载的时候呢,这个位置最好就多放还提就行。
08:03
想办法把安天放过来啊。这是这个,然后下一个说显示地图的时候呢,说必须呢,要使用application。啊,是一个全局的。啊,全局咱们还没有涉及到这个地图呢,是吧。啊,这个咱们到这个,呃,新闻类型在项目的时候啊,我们再说这个地图的问题。行,到时候你先记住这个点啊嗯,其他绝大部分的情况下呢,说二者都可以。啊,比如说啊说选择用啊这个application contest说肯定是可以的。就是绝大部分的一个情况下,绝大部分情况下,比如说是这个事儿,像我们在这个。工具类。哎,这个U下呢,我们写个叫UI ues啊,哎,我们在应用呢,使用的过程当中呢,我们经常也会去to的一些,呃,具体的文本啊,那我们不妨其实还可以写个方法啊static。
09:02
啊,我呢,我就叫一个抽了。啊,这个方法里边呢,就是相当于就写一个tos这样的一个操作啊,那这个操作的话呢,第一个位置,它这不就需要一个cont嘛。啊,既然说这个其实用谁都可以,那不妨呢,我就是不是u.get一个contact就行。哎,使用我们的application充当就行,就是这个操作的话呢,用谁都可以。嗯嗯,那这呢是你显示这个信息打印的信息。啊,我这就写成message吧。这样啊,那要这样写,我们就默认的是一个short的,或者你要说有的时候呢,也希望呢,它显示的时间长一点,那你这儿可以写一个啊波类型。Is alone。嗯。Is兰浪吧。那这个呢,你可以做一个判断啊。
10:00
啊,Is that long问号,嗯,如果是一个处呢,那就是让它呢显示的时间长一点。哎,否则的话呢,就是一个比较短的啊,哎,这样写就可以了,那回头这个方法我们也可以直接去调了啊,需要去透的时候。啊嗯,这是我们说的这个事啊,就是他俩都可以用,都可以用的话呢,那我们就省事一点,你可以用,优先考虑用application啊。那这呢还提到个事情,说有些情况下呢,你要用it呢,可能还不太好啊,那就有可能导致内存的一个泄露问题。啊,具体这个泄露呢,我们前面已经讲过了啊,呃,就比如说呢,呃,像我们提到的啊,说这个activity呢,哎,我呢绑了一个service,然后呢,你这个要退出了,是不是这个呢也得解绑呀。啊,或者注册广播接收器,回头呢,还得写注册啊,像这些问题的话呢,就是可能会导致一些内存的一个泄露问题的,呃,因为它的生命周期比较短。
11:00
啊,所以呢,就会有这样的一个弊端啊,那有些情况呢,我们就能用它去替换的,那就是不会有这个泄漏问题了,就跟你没关系啊,你该退出你就退出啊,因为他呢,他本身就活着。啊,然后下边一个生在这个视图对象当中啊activity t呢,作为contact的一般没有问题啊,是因为呢视图对象的啊,视图对象呢是在XT中加载的生命中心呢,往往比XT的短或者差不多。哎,这个呢,说的是这个意思啊,我们在这个里边。哎,我们可能会在他的生命周期方法里边,比如我用一个test view。啊,这个位置呢,我就写个Z啊,就是用我们的itt去充当的,所以这个位置呢,他说用it一般都没事。啊说这个时候呢,是不会出现泄漏的了。啊,因为你毕竟这个对象呢。哎,你就直接呢,生命在他这个方法里边啊,说他的这个TV的生命周期是不是一般都不会比它长啊。
12:03
啊,就是你撑死跟他一样啊,或者比它还短,所以说呢,哎,你这个它不会是导致这个导致这点T体出现雷存泄漏了啊哎,所以我们在这个具体这个对象创建的时候呢,啊,你也可以呢,都选择用activity。嗯。行这呢,就相当于什么时候做这个选择啊,关注一下。
我来说两句