#安卓应用原理__安卓的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
android App 运行原理 安卓应用运行原理
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
安卓之热修复的原理以及解决方案
在当今快速迭代的应用开发环境中,热修复技术(Hot Fix)成为了一个重要的工具。特别是在Android平台上,热修复提供了一种在运行时修复应用程序缺陷的方法,而无需重新发布应用程序。本文将深入探讨安卓热修复的原理、解决方案、优缺点以及适用场景。
热修复 Android Tinker AndFix Dexposed -
Android app工作原理 安卓app运行原理
Activity 是四大组件中用的最多的,也是最复杂的,本篇文章就重点总结Activity的启动和通信原理AMS(AcctivityManagerService)从字面意思理解看是管理Activity的,其实四大组件都归它管PMS(PackageManagerService)ActivityManagerNative(AMN)ActivityManagerPoxy(AMP)ApplicationT
Android app工作原理 Activity工作原理 Activity启动流程 ApplicationThread -
java 代码 如何预热
目录短路且与短路或?Java代码运行流程1:分支语句2:循环语句小知识点:思考:短路且与短路或?&&短路且(全部条件都要满足) 左false全false || 短路或(满足其一的条件) 左true全trueJava代码运行流程 所有代码从
java 代码 如何预热 java servlet jvm System