在看Android代码运行机制时,经常会遇到一些不太理解的词,在此把我遇到的一些词以及理解整理下:
1、Android系统,整体来讲它是属于消息驱动型类型,简单说就是系统中应用的各个组件都是靠消息来交互,系统中会有一个主线程会循环执行Looper中的消息队列。
2、编译时:只有编译成功后才能生成可执行代码,简单理解就是语法要符合Android系统的要求,如数学中的运算法则。
3、运行时:简单理解就是当代码执行到那行代码时,(如Android系统中findViewById,只要存在相应id就不会报错,因为它是再运行时才会检查Id是否存在)。Android中运行时检查,运行时绑定都是这个意思。
4、Android 组件与进程:Android的组件虽然在进程中运行,但是进程被杀死,组件依然可以存活,这就是有时候在用360安全卫士查看应用时会出现0进程运行,1服务正在运行的怪象。由于Android为了提高应用的响应速度,Android组件可以独立与进程存在(它有一些列Manageer类来控制)。
5、Android系统基于Linux2.6,但不属于Linux系统的分支,所以它是开发的不是开源的。
6、编译时会将xml文件编译成2进制格式,生成资源符号为后面生成R.java文件,每个id都是4位16进制的数,高字节位代表包名,次高字节代表所属类型(String,int,View等等),后两位代表具体id。
7、Android CPU 特性:VFP特性与Neon特性,主要在看SO动态库相关文章的时候会遇到类似的用法,不是特别明白,不用去弄的特别清楚它们到底如何实现的,只需要明白在相同架构下它们对结果是没有影响的,只是会影响运算效率,比如上班去公司乘坐交通工具(地铁与公交)只是用的时间不同而已,结果都一样。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。