Android应用基础知识
Android系统是一个多用户的操作系统,每一个应用就是一个用户。
默认情况下,系统为每个应用分配一个用户ID(系统知道这个ID),并设定该应用的所有文件只有该ID的用户可以访问。
默认情况下,每个应用都单独运行在一个Linux进程中,既一个虚拟机(VM)中,应用程序代码是相互隔离的。
Android系统通过这种最小权限原则:默认情况下,每个应用只能访问其运行所需要的组件,不能访问那些未获得权限的部分。
共享数据和访问系统服务:
1、应用程序之间可以通过共享用户ID,以访问彼此的应用程序文件,同时,为了节约资源,还可以使他们在同一个进程、VM中(需要使用相同的签名)。(应用变成系统应用就是采用这种方式)。
2、应用可以请求一些比如(操作蓝牙、读取联系人)的权限,但,必须得到用户的授予才可以正常操作。
应用组件
1、每个组件都是一个不同的点,系统可以通过它进入您的应用。
2、每个组件都是唯一的构建基块。
3、具有定义组件的创建和销毁方式的不同生命周期。
应用四大组件:Activiy、Service、ContentProvider、BroadcastReceiver。
当系统启动某个组件时,会启动该应用的进程(如果尚未运行),并实例化该组件所需的类。
与大多数其他系统上的应用不同,Android 应用并没有单一入口点(例如,没有 main() 函数)。
在 Android 系统启动应用组件之前,系统必须通过读取应用的 AndroidManifest.xml 文件(“清单”文件)确认组件存在。 您的应用必须在此文件中声明其所有组件,该文件必须位于应用项目目录的根目录中。