欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

解析Android应用程序运行机制

程序员文章站 2022-06-29 09:28:53
在标准的windows和linux桌面操作系统中,同时可以在不同的窗口中运行多个应用程序,每次只有一个应用程序是当前焦点状态,但其他的应用程序都是一个平等的位置。用户可以随...

在标准的windows和linux桌面操作系统中,同时可以在不同的窗口中运行多个应用程序,每次只有一个应用程序是当前焦点状态,但其他的应用程序都是一个平等的位置。用户可以随时切换每个应用程序,在不需要应用程序时,也需要用户来关闭应用程序。

    但是android操作系统的应用程序却不是采用这种方式。

    android中每次只有一个应用程序运行在最前面,除了状态栏的位置,当前应用程序将铺满整个屏幕。用户最常见的应用程序就是应用的主页(home application),这个程序主要显示背景图和应用程序快捷方式、widget等,用户可以在此激活应用程序。

    用户在android运行一个应用程序时,android启动该程序并把它放到最前端,从这个应用程序中,用户可以启动别的应用,或者该应用自己的其他界面,一个启动一个。而这些程序和屏幕都被活动管理(android activity manager)记录在应用程序堆栈(application stack)中,在任何时候,用户可以使用后退按钮返回到前一个应用屏幕,这有点类似浏览器的网页浏览历史功能一样,用户可以使用后退按钮返回到上一个应用屏幕。

    在android内部,每个用户界面代表一个活动类(activity class),每个活动有其自身的生命周期,每个应用程序有一个或多个活动。

    在android中,每个应用程序都是“活跃的”,即使它的进程被关闭以后。换而言之,其活动(activity)的生命周期和其进程的生命周期不是绑定在一起的,进程只是活动的一次性容器而已,这与windows、linux那些标准的桌面操作系统是不同的。在标准的windows和linux桌面操作系统中,同时可以在不同的窗口中运行多个应用程序,每次只有一个应用程序是当前焦点状态,但其他的应用程序都是一个平等的位置。用户可以随时切换每个应用程序,在不需要应用程序时,也需要用户来关闭应用程序。

    但是android操作系统的应用程序却不是采用这种方式。

    android中每次只有一个应用程序运行在最前面,除了状态栏的位置,当前应用程序将铺满整个屏幕。用户最常见的应用程序就是应用的主页(home application),这个程序主要显示背景图和应用程序快捷方式、widget等,用户可以在此激活应用程序。

    用户在android运行一个应用程序时,android启动该程序并把它放到最前端,从这个应用程序中,用户可以启动别的应用,或者该应用自己的其他界面,一个启动一个。而这些程序和屏幕都被活动管理(android activity manager)记录在应用程序堆栈(application stack)中,在任何时候,用户可以使用后退按钮返回到前一个应用屏幕,这有点类似浏览器的网页浏览历史功能一样,用户可以使用后退按钮返回到上一个应用屏幕。

    在android内部,每个用户界面代表一个活动类(activity class),每个活动有其自身的生命周期,每个应用程序有一个或多个活动。

    在android中,每个应用程序都是“活跃的”,即使它的进程被关闭以后。换而言之,其活动(activity)的生命周期和其进程的生命周期不是绑定在一起的,进程只是活动的一次性容器而已,这与windows、linux那些标准的桌面操作系统是不同的。