识字粗堪供赋役,不须辛苦慕公卿。这篇文章主要讲述《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:
【《Android源码设计模式》--模板方法模式】当Activity启动时,通过onCreate函数让用户设置自己的界面,系统将这个布局界面添加到一个内置的布局界面的content区域中,此时,DecorView就建立起来了,然后调用onStart函数,并且在函数onResume函数之前将DecorView添加到WindowManager中,并且设置Activity为可见,然后通知ActivityManagerService该Activity已变为resume状态,使得系统能够渲染Activity的视图,至此,Activity的视图就会显示在手机上了。
推荐阅读
- android反编译查看源码,apk解压后XML乱码解决
- mac android apk反编译
- Android开发中EventBus的使用
- 使用真机导致Androidstudio打印不出log
- [RK3288][Android6.0] 系统按键驱动流程分析
- 3.如何搭建Appium自动化测试环境
- Android Fragment间的广播消息接收
- Process 0:0:0 (0x1ffc) Worker 0x00000001E580A1A0 appears to be non-yielding on Scheduler 3. Thread c
- 直播DCloud CTO崔红保(如何玩转H5网站快速转换成App())