Google官方文档系列翻译——安卓应用原理

#安卓应用原理__安卓的app使用Java语言编写。安卓开发工具将你的代码连同资源文件以及数据一起编译成一个APK文件:这个文件是一个以“.apk”为后缀名的安卓文件包。这个APK文件包括了所有的安卓app所需的内容,同时,安卓设备使用这个文件来安装app。__每个安装在安卓设备上的app都拥有自己独立的安全沙盒。- 安卓是一个多用户的Linux系统,每个app都是一个独立的用户。- 系统会给每个app签名上一个独特的Linux用户ID(仅系统可用)。系统给app中的所有文件设置权限,仅有具有该用户ID签名的的app才能访问这些文件。- 每个进程都拥有独立的虚拟机,因此每个app的代码都是与其他app隔离运行的。- 每个app都在自己Linux进程中运行。当一个app中任意的模块被启动时,安卓会启动该进程;当该进程不再被需要或者系统需要从其他app回收内存时,安卓会关闭该进程。从这个角度来看,安卓系统使用了最小特权原则。也就是说,每个app只能访问它需要完成工作所必须的部分组件,而非全部。这样app就不能够访问自己所没有权限访问的部分,从而拥有一个安全的运行环境。然而,app是有方法与其他的app共享数据和访问系统服务的。- 可以使两个app共享一个共同的Linux用户ID,使两者可以互相访问对方的文件。为了节省系统资源,拥有相同用户ID的app可以运行在同一Linux进程,并且共享同一虚拟机(两个app必须使用同一个证书签名)。- app可以申请权限来访问设备数据,例如用户联系人、短信、相机、蓝牙、存储空间等等。所有的app必须在安装时声明所需的权限。 ##应用程序组件应用程序组件是一个安卓app必须的构成部分。每个组件都有自己独特的功用。并非所有的组件都是提供给用户的真正的入口,有些甚至彼此互相依赖而使用,但是每个组件的都有其自己的特点,并且扮演各自特殊的角色。安卓中有四种不同的应用程序组件。每种组件都为特定的目的而存在,并且拥有其特定的生命周期,来定义该组件的创建与销毁的过程。以下是四种类型的应用程序组件:- ActivitiesActivities展示了屏幕上用户交互的组件。比如,一个电子邮件的app可能会有一个显示邮件列表的界面(Activity),还有一个编辑邮件的界面,和一个阅读邮件的界面。在此app中,几个Activities共同工作,紧密粘合、相互依赖来提供一个电子邮件app的完整功能。如果此app允许的话,其他的app可以调用此app的任何一个Activity。比如一个相机的app可以调用电子邮件的app来写一封邮件,从而分享图片。- Services_ 挖坑待填_- Content providers- Broadcast receivers

猜你喜欢

转载自blog.csdn.net/a597637246/article/details/48381307