Android Application 基础
来源:互联网 发布:产品效果图制作软件 编辑:程序博客网 时间:2024/05/17 09:19
Application Fundamentals
摘要
- Android 应用程序由一个或者多个应用程序组(component)件构成 (activities,services, content providers, and broadcast receivers)
- 每个组件在整个app的行为中承担了不同的角色,且都能被独立的激活 (即使被激活的组件属于其他app)
- app的manifest 文件必须声明需要用到的组件和所有app的需求,比如app所使用的最小Android版本及一些硬件配置等
- 非代码的app资源 (images, strings, layout files, etc.),在不同的设备配置下应该各有一份(比如不同语言使用的字串、不同屏幕尺寸使用的布局文件)
每个安装在设备上的 Android 应用程序都运行在自己的安全沙箱中(security sandbox):
- Android 操作系统是一个多用户的linux 系统,每一个应用程序就是一个特有的用户.
- 默认情况下,系统会为每一个app分配一个唯一linux用户ID(ID 只有系统知道,app自身并不知道ID)。系统会为app中的每一个文件都分配权限,所以只有拥有相应的app ID 才能访问这些文件。
- 每一个进程都拥有自己的虚拟机(VM),所有各应用程序之间代码的运行是隔离的。
- 默认情况下,每个app都运行在自己独立的linux进程之上,当需要运行app的任何一个组件时会启动这个进程,然后在不需要使用进程或者系统需要回收内存的时候会终止进程。
通过这种方式,Android系统实现了最小特权原则(principle of least privilege)。每个app默认情况下只能访问需要完成其应用程序功能的部分。这样创建了一个非常安全的app运行环境,app不能访问系统给予权限的部门。
但是,也有方法可以可以让应用程序之间共享数据,也可以让app访问系统服务:
- 安排让两个app共享同一个linux User ID是可能,这样他们就能相互访问各自的文件。为了节约系统资源,拥有相同user ID的应用程序可以运行在同一个VM上(但是app的签名必须一致)
- 一个app可以向系统请求权限来访问设备数据,比如联系人、短息、SD card、照相机、蓝牙等等,app权限必须在安装时就获得。
本文涵盖了app 如何在Android 系统中存在,文章剩余的部门会介绍:
- 定义app的核心框架组件
- 用来声明app组件及请求设备功能访问权限的manifest文件
- 从Android 代码中分离出来的资源文件,让你个轻松优化app 在不同设备配置下的行为。
- Android Application 基础
- Android Application基础
- android 基础 ---> Application
- Android应用程序基础(Application Fundamentals)
- Android 应用基础 - Application Fundamentals
- Android基础--简单介绍Application
- 1. Android Application Thread 基础
- Android 应用程序基础(Application Fundamentals)
- Android Basics-Application Fundamentals应用基础
- android 应用基础(Application Fundamentals)
- Android 应用基础(Application Fundamentals)
- Android基础系列----------- Application的作用
- Android基础--全局变量传值Application
- Android中Application组件的基础用法。
- Application 基础
- Android SDK 1.5中文版 (Application基础—1)
- Android SDK 1.5中文版 (Application基础—2)
- Android SDK 1.5中文版 (Application基础—3)
- 非静态的字段,方法或属性。。。。。。要求对象引用
- Android修炼之路
- 使用JDK自带jvisualvm监控tomcat
- stack overflow的问题
- Shop++
- Android Application 基础
- EM算法
- NGUI使用javascript的方法
- C++的I/O(vc版)(七)
- 高速助手,高速公路场景下的LBS应用
- 数据结构--hostent
- 程序员的提醒
- CString,string,char*的综合比较
- 阿里试图通过合伙人掌握提名权