且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Android程序设计》一3.1 Android平台和传统编程模型的对比

更新时间:2022-09-15 19:02:54

3.1 Android平台和传统编程模型的对比

传统编程中,操作系统启动应用时使用单一入口点,通常是main函数,在这个函数中可能会首先解析用户在命令行中提供的输入参数,然后获取输入数据,在处理之后生成输出数据。操作系统负责把程序的代码加载到进程中,然后开始执行它。从概念上讲,这个过程看起来如图3-1所示。

《Android程序设计》一3.1 Android平台和传统编程模型的对比

使用Java编写程序,这个过程会变得稍微复杂一些:Java虚拟机(VM)负责将二进制代码加载到内存中来实例化Java类。这个过程如图3-2所示。如果使用的是富图形化用户界面系统,如Swing,则可能会启动一个UI系统,在UI系统中通常需要编写回调函数来响应各种操作事件。

《Android程序设计》一3.1 Android平台和传统编程模型的对比

相比而言,Android则更进一步,它支持多个应用入口点,引入了更丰富的机制。在Android系统中假定的前提是,系统会在不同的地方启动它们,这取决于用户当前正在哪里以及用户接下来想做的是什么。除了位置上的分层,程序近似于一组组件之间的协作,它可能在应用的正常流之外启动。例如,一个对条形码进行扫描的组件提供了这个独立的功能,很多应用可以把它组合到自己的UI流中。用户不需要亲自动手启动每个应用,组件本身就能够调用某个程序与用户交互。