2016-03-01 09:49:15 533浏览
在目前生活中,随着移动互联网的迅速发展,前端的概念已发生很大的变化,已不仅仅局限在网页端。而Android系统作为智能机市场的老大,作为前端开发工程师,非常有必要了解和学习,但面对众多学习资料,站在前端开发工程师的角色,怎样能够快速的了解Android开发基础知识呢?下面我们一起来看一下吧。
Android是基于Linux平台的开源智能手机操作系统(Google为什么不另立门户请看这里),具有强大的灵活性,可以被移植到不同的硬件平台上(比如:手机、电视、机顶盒、嵌入式设备等),完全开放,上层的应用程序开发完全开放给第三方应用开发以Java语言为主,C/C++语言只在特定情况下使用。
一、coding学堂之Andriod系统自底向上可分为四个层:
1、内核层:Linux内核和设备驱动,该层与设备相关,对开发者不开放。
2、模块层:Linux库和Dalvid虚拟机,从Linux操作系统的角度来看,第2层是内核空间与用户空间的分界线,第1层运行于内核空间,第2、3、4层次运行于用户空间。
3、应用框架层:Andriod应用管理框架和服务,管理每个Android应用的整个生命周期,从安装到运行到卸载。
4、应用层Android自带以及三方的应用程序,这里是码农们的角斗场,也即将是你的归宿。简单点说就是:Android的应用运行在Java虚拟机Dalvik之上,即java code->class->dex(Dalvik executable)。
二、Dalvik与Java虚拟机还是有区别的:
1、Dalvik基于寄存器,而JVM基于栈。
2、Dalvik虚拟机运行的是其专有的文件格式Dex,而Java虚拟机运行java字节码。
3、Dex文件格式可以减少整体文件尺寸,提高I/O操作的类查找速度。
4、每个APP对应一个独立的虚拟机实例,APP的每个线程对应一个Linux线程。
5、有一个特殊的虚拟机进程Zygote,其是虚拟机实例的孵化器。它在系统启动的时候就会产生,如果系统需要一个新的虚拟机实例,它会迅速复制自身,以最快的数据提供给系统。对于一些只读的系统库,所有虚拟机实例都和Zygote共享一块内存区域。
最后扣丁学堂对于Android开发技术而言,想要晋升大神级,需要不断的学习和实战。对于想要从零开始学Android开发的读者可以观看扣丁学堂Android培训在线视频,完整系统的学习路线让从零开始学Android开发更加轻松。