00:00
啊,刚才呢,我们已经把这个欢迎页面,这个页面啊和这个逻辑已经处理完了啊,处理完之后呢,接下来呢,我们来看一下这个地方啊,这再进入这个主页面和登录页面这个判断逻辑的过程中啊,啊我们这个拗了一个线程啊,是匿名的啊这种线程就好的好呢?啊显然是不好的啊,因为这种是不可控的,我随随便便就用了一个线程啊,那怎么能好呢?我可以把这个线程啊放在这个线程池中啊。统一进行管理啊,什么时候启用,什么时候关闭啊,这样会很好的,这里面可以存放大量线程进行统一管理,而不是你这个随意的啊去创建啊,任意去创建这样呢。会容易导致你这个内存呢啊溢出。好,那么这个全球现象时,我创建哪里呢?哎,我要将它创建在这个模型层中啊,数据模型层中,那创建这个现象池之前,我先要在这个模型层中创建一个全局的数据模型层的类啊。
01:00
建一个猫。啊,Mo这是干嘛的,创建这么一个类呢。数据。模型成。全局类啊。这这个类啊,就统一的处理这个模型层与这个控制层的数据交互,所有的数据啊,都必须经过这个类啊之后才能通过这个进行调用啊,还是这个adapt fragment啊,Control城数据和这个model层所有的交互必须走这个model啊,这有什么好处呢?啊,这样呢,就是方便你的可一致性啊,模块性进行开发啊,我下面这个数据发生了变化,不会影响你上一层次的变化啊,这也就是这种啊MVC的结构这个架构这个思想啊,首先创建这个类之后啊,我要将这个类变成这个单立的模式啊,全局就一个啊,那怎么办呢?首先要大力,那这个构造就不能被重写创建一个。
02:08
是有的。啊,例子。那么怎么拿到这个对象呢?是不是要创建一个静态的对象啊啊。他们那个。Model。Get in。In啊,Instance获取这个全对象啊,那我不能用对象,前面就要来一个static啊,然后呢,我return一个model。啊,Return的一个模型,那这个模型我是不是要提前创建好呢,对吧?哎,好在哪呢?在上面。来一个私有的啊,Static静态的。这个对象提前创建又一个model。创建对象。
03:02
私有化构造。啊,然后呢,这个是获取代理对象。单利对象。然后接下来。这个类啊,我再给他创建一个什么方法呢?创建一个初始化的方法,嗯。需要初始化的方啊,数据和这个方法,我给它放在这里面啊,我定义一个public啊VID。这方法中呢,我让它传进来一个参数是什么呢。哎,上下文全局的。啊,后面呢,我们会用到,那这样呢,我们接收一下这个上下文啊,定义一个。上下文。
04:02
M,我一般情况下喜欢将这个全局变量定义成嗯,大写小写的M啊,前缀。这样方便去看啊,谷歌工程师也是这么干的啊。好,等于一个contest。这样还不行啊,我要对这个猫大药城啊,这个类进行初始化啊,在哪里去初始化呢?还记得我们那个e zi在哪里初始化的吗?是不是在这个I'am application呀,因为这也是程序的入口嘛,一进来我进行对它进行初始化,我们这里同样道理在这里进行。初始化数据模型成类,怎么初始化呢?猫蛋。啊,算一下model.get instance啊,获取这个类的实例,然后点in。啊,传递一个参数上下文。
05:00
看看我们这个写的是不是跟这个1VI写的啊,非常相近的啊,大家都是这么写的啊。好,这样呢,这个初始化啊就完毕了,接下来我们要干嘛呢。要创建一个全局的线程池这个类啊。好。怎么创建的?定义一个啊,Private ex extra service。然后来一个ex。啊,随便来一个。ES。EH是吧,啊等于exi。丝啊点又有一个cast啊,这个是这个啊。时间比较比较短啊,如果这个线程长时间不用,那么我这个线程呢,就回收了啊,属于这种模式线程池呢,一共分这么四种啊,后面呢,我给大家讲,这里面就不给大家说了啊,获取这个线程池。
06:00
那么我要定义一个方法。Public。Service啊,Get global gl。个老包什么呢,Red。获取全局的线程池。然后给他返回一个return。啊,这个线程池给它返回。获取全局建成。是对象啊对象。那么怎么用呢?啊,我们来具体的用一下啊,这个全局线程池,首先来到这个换原界面啊来到这。之后呢,将这个匿名的线程啊,我给它替换掉。在这下面我先写一下啊。
07:00
猫带点gets点点什么呢?Get。Global啊,获取这个前程线程时点啊,ICU啊,执行执行什么呢?执行一个线程又一个random。之后把上面这些代码。通通剪切过来放在里面。啊,这样呢,它就是执行这个线程,把这下面这个业务逻辑执行了,跟上面是一样的啊,只不过这个线程池比这个更好一点啊,会减少这个内存优化的可能性啊好,我们运行一下,看看我这边修改完之后能不能程序正常运行。毕竟。走。
08:05
好一二,哎,是不是跟刚才的功能是一样的啊,也是可以的啊,你再来一下。啊。一二走。哎,过来了啊,这个是可以的啊。
我来说两句