zoukankan      html  css  js  c++  java
  • 《Android源码设计模式》--模板方法模式

    No1:

    模板方法模式包括:抽象类(其中定义了一系列顺序方法)、具体实现类A、具体实现类B

    如果子类有实现不一样的细节,重写父类的某个方法即可

    No2:

    AsyncTask对象调用execute方法后会依次执行onPreExecute、doInBackground、onPostExecute或onProgressUpdate。

    每次使用AsyncTask时都需要重新创建一个对象

    No3:

    execute方法内部封装了onPreExecute、doInBackground、onPostExecute这个逻辑流程,用户可以根据自己的需求再覆写这几个方法,使得用户可以很方便的使用异步任务来完成耗时的操作及更新UI,这其实就是通过线程池来执行耗时的任务,得到结果之后,通过Handler将结果传递到UI线程来执行

    No4:

    Android系统启动时,第一个启动起来的进程就是zygote进程,然后由zygote启动SystemServer,再后来就是启动ActivityManagerService、WindowManagerService等系统核心服务,这些服务承载着整个Android系统与客户端程序交互的重担。

    No5:

    setContentView的基本流程简单概括就是如下几步:

    1)构建mDecor对象,mDecor就是整个窗口的顶层视图,它主要包含了Titile和Content View两个区域,Title区域就是我们的标题栏,Content View区域就是显示xml布局内容中的区域

    2)设置一些关于窗口的属性,初始化标题栏区域和内容显示区域

    No6:

    Activity启动时,通过onCreate函数让用户设置自己的界面,系统将这个布局界面添加到一个内置的布局界面的content区域中,此时,DecorView就建立起来了,然后调用onStart函数,并且在函数onResume函数之前将DecorView添加到WindowManager中,并且设置Activity为可见,然后通知ActivityManagerService该Activity已变为resume状态,使得系统能够渲染Activity的视图,至此,Activity的视图就会显示在手机上了。

  • 相关阅读:
    已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机
    简易vector的实现
    简单的内存池实现
    归并排序,递归与非递归
    堆排序
    位运算
    二叉树的建立,以及非递归遍历
    “云端融合”思想的自我摸索(很不靠谱)
    linux android开发环境搭建
    Android系统架构及内核简介
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/7779460.html
Copyright © 2011-2022 走看看