1. 与windows平台不同,Android应用程序不能控制自己的生命周期,应用程序组件必须监听应用程序的状态的变化并作出适当反应,特别要注意为随时被终止做好准备

  2. 默认情况下,每个Android应用程序都是通过他们自己的进程运行,每个进程都运行在独立的Dalvik实例中,每个应用程序的内存和进程管理都是由运行时进行专门处理的。通过使用android:process属性可以使同一个应用程序组件运行在不同的进程中,或者让多个应用程序共享一个进程

  3. 回收资源时,进程被终止的顺序是由它们的应用程序优先级决定的,一个应用程序的优先级等同于它的优先级最高的组件的优先级。

  4. 两个应用程序拥有相同的优先级时,在较低优先级状态运行时间最长的进程首先被终止。进程的优先级也收进程间依赖性的影响,如果一个应用程序依赖于第二个应用程序提供的Service或者ContentProvider,那么第二个应用程序至少会拥有与它所支持的这个应用程序相同的优先级

  5. 活动进程:有组件正在与用户进行交互的应用程序的进程,包括:
    • 处于活动状态的Activity,它们位于前台并对用户事件进行响应
    • 正在执行onReceiver事件处理程序的Broadcast Receiver
    • 正在执行onStart,onCreate或者onDestroy事件处理程序的Service
    • 正在运行且已被标记为前台运行的service

  6. 可见进程:可见但非活动的进程是指那些驻留“可见Activity”的进程,例如,进程的Activity组件被部分遮挡时
  7. 启动服务进程:已经启动的service的进程,系统终止一个运行的service后,会在资源可用时尝试重新启动Service,除非告诉系统不要这么做
  8. 后台进程:不可见,并且没有任何正在运行的service的activity的进程
  9. 空进程:为了提高系统整体性能,Android经常在应用程序的生存周期结束之后仍然把他们保存在内存中,Android通过维护这个缓存来减少应用程序被再次启动的启动时间,通常这些进程会根据需要被定期终止

更多相关文章

  1. Android路线图
  2. Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过
  3. android应用程序基本原理
  4. Android应用程序的快速启动是怎样炼成的?
  5. Android(安卓)签名详解
  6. 开发 Standalone Android(安卓)Java 应用程序
  7. Android(安卓)Frameworks系列(一) startService启动
  8. 简单解释Android中的任务、进程和线程
  9. 【外刊IT评论】如何发布你的Android应用程序

随机推荐

  1. Android:规范命名,让合作更加愉快
  2. Android——内存篇:Android中5种最常见的
  3. mssql @@ERROR 使用
  4. mssql 两种数据插入方式
  5. sql 普通行列转换
  6. SQL Server的复制功能
  7. Oracle 10g各个帐号的访问权限、登录路径
  8. SQL Server 更改DB的Collation
  9. SQL Server约束增强的两点建议
  10. 存储过程解密(破解函数,过程,触发器,视图