지금부터 정리하는 내용은 안드로이드 개발자 사이트(http://developer.android.com/guide/)의 내용을 기초로 합니다.
전장에서 설명했듯이 안드로이드는 Java로 구현하게 됩니다. 이렇게 구현된 class및 각종 데이터, resource등은 .apk라는 확장자로 archive file로 만들어 지게 되며(이렇게 하는 tool이 aapt) 이 파일이 단말에 설치됩니다.
- 모든 Application은 Linux Process로 실행됩니다.
- 각 Process는 Virtual Machine을 가지게 되므로 다른 Application과 독립적으로 실행이 됩니다.
- 각 Application은 Unique한 Linux user ID 를 할당받고, Permission이 설정됩니다.
두개의 Application이 동일한 user ID를 공유하는 것이 가능하고, 이렇게 되면 Application이 파일을 확인할 수 있습니다.
System resource를 절약하기 위하여 동일한 ID를 가진 Application 들이 동일한 Linux Process에서 실행되도록 설정할 수 있습니다.