安卓硬件底层开始的一些初步,路人皆知的哦
kali_linux吧
全部回复
仅看楼主
level 5
紫极散人 楼主
底层通过一个叫bootloader的系统加载器加载linux内核,然后调用init进程,进行初始化这就是安卓最开始的部分,和框架一点关系都没有这是最底层的硬件部分
init()初始化 首先是daemon(中文虚拟光驱的意思)会运行usb daemon(usdb) 用来管理usb连接android debug bridge daemon(adbd) android debug bridge连接管理 ?暂时不清楚这个是什么或许是为了下面这个的开始
debuger daemon(debuggerd) 启动debugger系统radio interface layer daemon(rild):管理无线通信连接然后init()还会运行context manager这玩意功能很大首先可以理解为相机,音乐,视频处理的进程管理同时,他还运行于安卓各种系统服务信息流程如下 应用程序---->想要调用系统服务---->不得不去向服务管理器申请许可---->通过一个叫BinderIPC的联合接口调用但是问题就在这里binderIPC和服务管理器没有任何关系,他们怎么通信?这时候一直运行系统服务的context manager就出现了,这个东西在运行时所有的系统服务都把自己的句柄(handle)信息注册到context manager,这时候binderIPC调用context manager和服务管理器进行通信
init()同时还初始化media server,这个是系统服务,用于视频和音频
init()还初始化zygote进程,zygote进程用于缩短android应用程序加载的时间,每次执行java应用程序时,zygote就会派生出一个子程序来执行应用程序,该子进程就是用来执行java应用程序的虚拟机
system server 是安卓系统的一个核心进程,它是由zygote进程创建的,在安卓启动过程中位于zygote之后,在system server中可以看到他建立的安卓中大部分服务,比如说系统服务中的activity manager service,彻底启动之后,会运行home应用,启动过程继续进行,之后不讨论
I
2013年10月08日 09点10分 1
level 5
紫极散人 楼主
activity name,应用程序第一个界面的名字应用程序中,src是源码gen是自己生成的的再下面是类库R.java,此文件千万不要修改
assets是放置所有文件,只要是应用程序需要的文件res文件夹也是放置文件,但是与assets不同它所有的文件会在src的R。java文件中生成唯一id
drawable里面放置的是图片文件layout里面放置的是布局文件每一个activity都对应有一个布局文件,他的xml作用就是控制控件位置,还有大小等
values文件里面是放置了应用程序中所需要的值,里面有string.xml,里面都是键值对,这些简直对也会在r.java中生成唯一id
也就是说,res文件下所有资源都会在r.java下生成id
androidmanifest,整个应用程序的的配置文件package,应用程序包名application标签icon应用程序图标icon@"@dravable/icon"这里是指引用dravable下面icon这个图片androidllabel="@string/app_name"引用了R类中索引出res的value的string的键值对
在下面·就是activity,类似于上文
intert filter,因为这个标签,所以一开始运行应用程序,就会首先运行被包含所在的标签activitys中
string是键值对layout用于控制控件在activity的位子drawable是普通的生成不同的图片分辨率I
2013年10月08日 09点10分 2
level 12
楼主是安卓开发方面专业的学生么 优化搜索小尾巴 kali_linux kali linux kali BT5R3 backtrack BackTrack kali linux下载 虚拟机 都在kali_linux吧!
2013年10月09日 00点10分 3
我是做spring的,安卓算是额外拓展
2013年10月09日 02点10分
回复 紫极散人 :哦!这个吧没有人气,感谢你这样的专业人员加入[哈哈] 优化搜索小尾巴 kali_linux kali linux kali BT5R3 backtrack BackTrack kali linux下载 虚拟机 都在kali_linux吧!I
2013年10月10日 00点10分
1