Android应用程序是用java编写的。我们可以使用aapt tool将编译好的java代码,包括程序所需的数据及资源,打包成一apk个文件。用户只需将apk文件下载到手机中即可运行。每一个apk文件都被认为是一个应用程序。
从很多方面来讲,每一个Android应用程序都是独立的:
- 默认情况下,每一个应用程序都对应着一个linux进程。当系统需要调用某个程序的功能模块时,系统就会启动一个该应用程序的进程。当系统不再需要该进程时,并且系统需要回收该进程所拥有的资源以便满足其他进程的资源需求时,系统会关闭该进程。
- 每一个进程都拥有自己的java虚拟机。所以每一个android程序运行时是互不干扰的。
- 默认情况下,每一个进程都拥有一个独一无二用户ID(Linux User ID)。每个进程都只能访问自己的资源。当然,多个进程之间可以通过某种方法共享资源。
我们可以通过某种方法让两个进程共享同一个用户ID,在这种情况下,2个应用程序都可以访问对方的资源,同时,这2个程序也可以在同一个进程空间中运行,共享同一个java虚拟机