Android系统体系结构中,整个Android体系被分为4层:

        但是Android系统为什么要采取这样的分层方式呢?在这里我想介绍一下我们软件领域的应用框架发展情况。

        在早期的时候,开发软件所使用的api都是直接调用系统的api。如果系统的api想要变化,那么势必会导致之前基于这个系统开发出来的所有软件应用都会付诸东流,代价高的很,所以在那个时候,操作系统的api都不会轻易的改变,软件执行的控制权全部掌握在开发者的手中,这也就限制了操作系统平台的发展,使得平台的弹性大大的降低。如图所示:

      
       为了使得平台拥有良好的弹性并且掌握控制权,软件应用开发领域出现了单层框架开发模式。单层应用程序框架的好处在于把应用和平台分隔开来,由框架里面的基类来调用a应用里面的子类,于是框架拥有软件的执行权,由框架指导应用的执行。


           基于上述的框架型软件架构, 开发者们可以基于这个大框架开发出一些小型的独立框架,这就是复合型的框架。比如说在一个大框架里面提供游戏框架、多媒体框架。这种复合型框架的出现,大大的降低了应用开发者们的负担。


         

       在Android的应用框架层和应用层都是用java写的,虽然java语言简单容易,但是它的执行效率却远不及c/c++,为了追求简单、容易、高效,在目前的软件产业里,许多的平台都是双层框架模式,建立出java与c/c++并存的双层框架。

           上述介绍了应用框架从早期的无框架、单层模型框架到复合型框架和双层框架的演变,现在很多系统都是采用双层框架,Android系统就是一个例子。

     

Logo

开源、云原生的融合云平台

更多推荐