`
火神曲
  • 浏览: 31745 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

【6.7】Activity的生命周期

阅读更多

1、为何需要生命周期

 

手机需要随时切换到接听手机、闹钟等任务,而且智能机用户习惯于多任务操作,这样会很耗费手机有限的内存空间,如果没有正确合理分配任务的内存,会导致手机变慢甚至死机

 

2、Activity的四种状态

 

android虚拟机使用堆叠管理,主要有以下四种状态:

 

1)Active:同一时刻只能有一个活动的Activity存在,其他的都处于其它三种状态

 

2)Paused:使用Toast、AlterDialog、接听电话等事件,会使当前Active 的Activity处于背景画面,但依然可见,保存所有信息,但在内存极低时会被kill

 

3)Stopped:被其他的Activity完全覆盖,如按home键,此时Activity被隐藏不可见,保存所有成员状态和信息,长按home键会显示,内存需要时会被kill

 

4)Dead:未启动,手动终止,系统回收。需重启恢复状态和信息

 

3、通过Log查看状态:

 

启动:create -> start -> resume

 

按home键:pause -> stop

 

长按home键回来:restart -> start -> resume

 

用Intent来切换Activity:1 pause -> 2 create -> 2 start -> 2 resume -> 1 stop -> 1 destroy 

 

退出:pause -> stop -> destroy

 

可得:

 

切换Activity会使Activity处于Stopped状态,此时可通过onPause()来保存数据,通过onRestart来恢复

 

finish()事实上是destroy一个Activity,所以在使用Intent切换按需求决定是否finish()当前的Activity,否则会出现多个Activity重复onCreate的情况,因为每一次startActivity(intent)都是Activity创建的过程

 

4、回收的顺序

 

1)空进程,无关的进程(没有任何Activity和Service绑定的进程)

 

2)处于Stopped状态的Activity

 

3)Service process,如MP3后台播放

 

4)可见Activity

 

5)当前活动的Activity

 

Service优先级高于Activity,所以不想太容易被kill的进程要用Service

 

Activity生命周期

 

 

参考http://blog.csdn.net/hpoi/archive/2009/10/03/4629065.aspx

分享到:
评论

相关推荐

    Android开发应用实战详解源代码

    2.5 activity的生命周期 2.5.1 activity状态 2.5.2 剖析activity 2.6 android进程和线程 2.6.1 进程 2.6.2 线程 2.6.3 远程调用(remote procedure calls) 2.7 intent消息传递 2.8 intent广播事件 2.8.1 广播事件 ...

    Android实例代码

    4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解: 5.2、Intent的属性及intent-filter配置:Component属性; Action、Category属性与intent-filter配置; Data、Type属性...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解: 5.2、Intent的属性及intent-filter配置:Component属性; Action、Category属性与intent-filter配置; Data、Type...

    疯狂Android讲义源码

     4.3.1 Activity的生命周期演示 190  4.3.2 Activity与Servlet的相似性与  区别 194  4.4 本章小结 195  第5章 使用Intent和IntentFilter  第5章 进行通信 196  5.1 Intent对象详解 197  5.1.1 使用Intent...

    精通ANDROID 3(中文版)1/2

    2.7 了解应用程序生命周期  2.8 调试应用程序  2.8.1 启动模拟器  2.8.2 StrictMode  2.8.3 参考资料  2.9 小结  第3章 使用Android资源  3.1 资源  3.1.1 字符串资源  3.1.2 布局资源  3.1.3 ...

    精通Android 3 (中文版)2/2

    2.7 了解应用程序生命周期  2.8 调试应用程序  2.8.1 启动模拟器  2.8.2 StrictMode  2.8.3 参考资料  2.9 小结  第3章 使用Android资源  3.1 资源  3.1.1 字符串资源  3.1.2 布局资源  3.1.3 ...

    老罗android视频开发源码和ppt经典

    1.4 android生命周期的介绍 1.5 android使用全局变量传递数据 1.6 android使用剪切板传递数据 1.7 意图传递数据的第一种方式 1.8 android使用静态变量传递数据 1.9 意图返回结果 二、Android常用布局介绍 2.1 ...

    android开发揭秘PDF

    3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 4.1 用户界面开发详解 4.1.1 用户界面简介 4.1.2 事件处理 4.2 常用控件应用 4.2.1 文本框(Textiew) 4.2.2 列表(ListView) 4.2.3 提示(T0...

    android开发资料

    每个组件(如Activity)都有自己的生命周期,了解它们的状态变化对于编写健壮的应用程序至关重要。 **3.3 Android程序UI设计** - **3.3.1 用户界面简介**: 介绍了Android应用的用户界面设计原则,包括布局管理器、...

    安卓Android入门经典

    - **5.1.2 应用程序的生命周期**:每个组件都有自己的生命周期,了解它们的状态转换对管理应用的行为至关重要。 #### 三、Android的UI系统实现 ##### 6.1 控件和基本事件的响应 - **6.1.1 事件响应方法**:通过...

    《Android应用开发揭秘》附带光盘代码.

     3.2 Android的生命周期  3.3 Android程序U设计  3.4 小结  第4章 用户界面开发  4.1 用户界面开发详解  4.1.1 用户界面简介  4.1.2 事件处理  4.2 常用控件应用  4.2.1 文本框(Textiew)  4.2.2 列表...

    《Android应用开发揭秘》源码

     3.2 Android的生命周期  3.3 Android程序U设计  3.4 小结  第4章 用户界面开发  4.1 用户界面开发详解  4.1.1 用户界面简介  4.1.2 事件处理  4.2 常用控件应用  4.2.1 文本框(Textiew)  4.2.2 列表...

    Android应用开发揭秘

    3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 4.1 用户界面开发详解 4.1.1 用户界面简介 4.1.2 事件处理 4.2 常用控件应用 4.2.1 文本框(Textiew) 4.2.2 列表(ListView) 4.2.3 提示(T0...

    Android 应用开发入门教程

    深入解析应用程序的组成部分及其生命周期,包括如何管理和响应不同状态下的应用行为。 ##### 5.2 应用程序文件组成 探讨构建Android应用所需的各种文件类型及其作用。 ##### 5.3 使用am工具启动应用 am工具允许...

    Android应用开发入门教程(经典版).pdf

    - **应用程序的生命周期** 指的是从创建到销毁的过程中,应用程序经历的不同状态。 ##### 5.2 应用程序包含的各个文件 - **主要文件** 包括: - **源代码文件** (`*.java`): 包含应用程序的业务逻辑。 - **布局...

    Android应用开发揭秘pdf高清版

    3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 4.1 用户界面开发详解 4.1.1 用户界面简介 4.1.2 事件处理 4.2 常用控件应用 4.2.1 文本框(Textiew) 4.2.2 列表(ListView) 4.2.3 提示(T0...

Global site tag (gtag.js) - Google Analytics