导航:首页 > 操作系统 > android对象初始化

android对象初始化

发布时间:2023-03-09 06:22:41

㈠ ActivityThread

我们学习 Android 过程中会发现,我们的文件都是 .java 文件,也就是说 Android 开发还是用的 Java 语言来编写的。也正是这样,所以你们来学 Android ,也会让你们先学习一段时间 Java 。掌握好了 Java 的相关知识,学起 Android 来可谓是事半功倍。好了,你们是不是感觉有点扯远了啊,不是说好讲 ActivityThread 类的么,其实并不如此。

你们在刚开始从 Java 学习转到 Android 学习的过程中,有一个重大的改变不知道你们又没有发现。那就是 Java 中的 main() 方法,程序的入口不见了,取而代之的是 onCreate() 方法。你们没有一点疑惑么?初学阶段直接无脑接受是对的,但是作为一个工作几年了的人来说,就有必要去深入研究一下了。明明 Android 也就是 Java 语言也编写的,差别咋就这么大呢?

其实呢, Android 中还是有 main() 方法的,只是隐藏的比较深而已。今天,就由我 AIqingfeng 来带你们一探究竟~!

我们先找到 ActivityThread 这个类,看一下注释( 较少 ,值得一看):

翻译一下就是:在 Application 进程中 管理执行主线程,调度和执行 活动和广播 ,和活动管理请求的其它操作。

Android 上一个应用的入口,应该是 ActivityThread 类,和普通的Java 类一样,入口是一个 main() 方法。

好了,现在我们解决了我们开始的疑惑后,再来深度学习一下这个类的一些知识吧。

ActivityThread 有几个比较重要的成员变量,会在创建ActivityThread对象时初始化。

final ApplicationThread mAppThread = new ApplicationThread();

ApplicationThread继承自ApplicationThreadNative, 而ApplicationThreadNative又继承自Binder并实现了IApplicationThread接口。IApplicationThread继承自IInterface。这是一个很明显的binder结构,用于与Ams通信。IApplicationThread接口定义了对一个程序(Linux的进程)操作的接口。ApplicationThread通过binder与Ams通信,并将Ams的调用,通过下面的H类(也就是Hnalder)将消息发送到消息队列,然后进行相应的操作,入activity的start, stop。

final H mH = new H();

这个 H 大家首先会想到什么啊,不要开车哈。看到 H 想到了 Handler 。发现 H 是 ActivityThread 内部类,继承自 Handler ,果然没错。所以大家遇到不清楚的,不要怕,大胆的猜测一下。 Handler 最重要的的也就是 handleMessage() 方法了。查看一下其方法:

ActivityThread.java

点进来咯。 ActivityThread.java

兴趣是最好的老师。ActivityThread.java

先探索一下 Activity 创建这条路吧。最底层啦。Instrumentation.java

Native方法,C语言啦,活动创建之路结束了。Class.java

再来看看 Activity 中 onCreate() 方法执行之路吧。 Instrumentation.java

到了 Activity 了,哪里我们自己 Activity 还远么~! Activity.java

来,仔细瞅瞅~! Activity.java

阅读全文

与android对象初始化相关的资料

热点内容
office批量转pdf 浏览:183
boss直聘程序员多少薪 浏览:631
编程字母代表什么 浏览:952
rainmc服务器地址 浏览:456
电信校园网客户端认证服务器地址 浏览:448
掌阅怎么看文件夹 浏览:341
在伴伴app里面怎么拜师傅 浏览:942
编程珠玑笔记 浏览:281
结束命令行 浏览:270
力学原理pdf 浏览:736
宏定义编译后不变 浏览:404
如何搞免费服务器 浏览:212
神经系统pdf 浏览:672
如何查看服务器上的数据库服务器 浏览:195
压缩机型号v代表什么 浏览:58
旅游类源码 浏览:867
电脑服务器类型怎么设置 浏览:235
pdf炒股 浏览:791
服务器地址缺少端口号什么意思 浏览:535
下载需要解压的小说用哪个软件 浏览:539