解析Android应用程序运行机制

在标准的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那些标准的桌面操作系统是不同的。

时间: 2024-09-20 04:08:53

解析Android应用程序运行机制的相关文章

解析Android应用程序运行机制_Android

在标准的Windows和Linux桌面操作系统中,同时可以在不同的窗口中运行多个应用程序,每次只有一个应用程序是当前焦点状态,但其他的应用程序都是一个平等的位置.用户可以随时切换每个应用程序,在不需要应用程序时,也需要用户来关闭应用程序.     但是Android操作系统的应用程序却不是采用这种方式.     Android中每次只有一个应用程序运行在最前面,除了状态栏的位置,当前应用程序将铺满整个屏幕.用户最常见的应用程序就是应用的主页(Home application),这个程序主要显示背

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.5节Android应用程序运行的机制

1.5 Android应用程序运行的机制 Android 3D游戏开发技术宝典--OpenGL ES 2.0 上一节介绍了如何搭建Android开发环境.如何开发Hello Android应用程序以及Android应用程序的调试,接下来在本节中将简要地介绍Android应用程序的运行机制. 1.5.1 应用程序的系统架构 Android平台由应用程序.应用程序框架.Android运行时.系统库以及底层Linux内核构成,详细结构如图1-54所示. 说明 应用程序层里面包含的就是需要读者去发挥创意

《OpenGL ES 3.x游戏开发(上卷)》一1.5 Android应用程序运行的机制

1.5 Android应用程序运行的机制 前面介绍了如何搭建Android开发环境.如何开发Hello Android应用程序以及Android应用程序的调试,接下来在本节中将简要地介绍Android应用程序的运行机制. 1.5.1 应用程序的系统架构 Android平台由应用程序.应用程序框架.Android运行时.系统库以及底层Linux内核构成,详细结构如图1-68所示. 说明 应用程序层里面包含的就是需要读者去发挥创意开发的.各种各样丰富多彩的应用程序,这也是一般Android应用开发人

Android应用程序运行的性能设计综述

Android应用程序运行的移动设备受限于其运算能力,存储空间,及电池续航.由此,它必须是高效的.电池续航可能是一个促使你优化程序的原因,即使他看起来已经运行的足够快了.由于续航对用户的重要性,当电量耗损陡增时,意味这用户迟早会发现是由于你的程序. 虽然这份文档主要包含着细微的优化,但这些绝不能成为你软件成败的关键.选择合适的算法和数据结构永远是你最先应该考虑的事情,但这超出这份文档之外. 1. 介绍 写出高效的代码有两条基本的原则: ◆ 不作没有必要的工作 ◆ 尽量避免内存分配. 2. 明智的

Android应用程序运行的性能设计

Android应用程序运行的移动设备受限于其运算能力,存储空间,及电池续航.由此,它必须是高效的.电池续航可能是一个促使你优化程序的原因,即使他看起来已经运行的足够快了.由于续航对用户的重要性,当电量耗损陡增时,意味这用户迟早会发现是由于你的程序. 虽然这份文档主要包含着细微的优化,但这些绝不能成为你软件成败的关键.选择合适的算法和数据结构永远是你最先应该考虑的事情,但这超出这份文档之外. 1. 介绍 写出高效的代码有两条基本的原则: ◆ 不作没有必要的工作 ◆ 尽量避免内存分配. 2. 明智的

官方文档:Android应用程序运行的性能设计

Android应用程序运行的移动设备受限于其运算能力,存储空间,及电池续航.由此,它必须是高效的.电池续航可能是一个促使你优化程序的原因,即使他看起来已经运行的足够快了.由于续航对用户的重要性,当电量耗损陡增时,意味这用户迟早会发现是由于你的程序. 虽然这份文档主要包含着细微的优化,但这些绝不能成为你软件成败的关键.选择合适的算法和数据结构永远是你最先应该考虑的事情,但这超出这份文档之外. 1. 介绍 写出高效的代码有两条基本的原则: ◆ 不作没有必要的工作 ◆ 尽量避免内存分配. 2. 明智的

深入理解Android Instant Run运行机制

Instant Run Instant Run,是android studio2.0新增的一个运行机制,在你编码开发.测试或debug的时候,它都能显著减少你对当前应用的构建和部署的时间.通俗的解释就是,当你在Android Studio中改了你的代码,Instant Run可以很快的让你看到你修改的效果.而在没有Instant Run之前,你的一个小小的修改,都肯能需要几十秒甚至更长的等待才能看到修改后的效果. 传统的代码修改及编译部署流程 传统的代码修改及编译流程如下:构建整个apk → 部

从Hello World说程序运行机制

开篇 学习任何一门编程语言,都会从Hello World 开始.对于一门从未接触过的语言,在短时间内我们都能用这种语言写出它的hello world.然而,对于hello world 这个简单程序的内部运行机制,我相信还有很多人都不是很清楚. hello world 这些信息是如何通显示器过显示的?cpu执行的代码和程序中我们写的的代码肯定不一样,她是什么样子的?又是如何从我们写的代码变成cpu能执行的代码的?程序运行时代码是在什么地方?她们是如何组织的?程序中的变量存储在什么地方?函数调用是怎

java入门(1) 程序运行机制及运行过程

首先我们来看一下java程序在底层是怎么工作的: JAVA有两种核心机制: Java虚拟机(Java Virtual Machine): 1.java虚拟机可以理解成一个以字节码为机器指令的CPU. 2.对于不同的平台,有不同的虚拟机. 3.java虚拟机机制屏蔽了底层运行平台的差别,实现了"一次编译,随处运行". 垃圾收集机制(Garbage collection) 1.不再使用的内存空间应回收--垃圾收集 2.Java语言相对于C/C++而言消除了程序员回收无用内存空间的责任:提供