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
参考http://blog.csdn.net/hpoi/archive/2009/10/03/4629065.aspx
发表评论
-
ndk开发环境的搭建
2011-09-04 18:33 8941、下载Cygwin,只安装Devel 安 ... -
【8.3】关于simpleAdapter没法显示bitmap的问题
2011-08-03 14:24 1657这个问题很棘手,打log明明都找了视频缩略图bitmap的路径 ... -
【7.6】关于SurfaceView播放视频只有声音没有图像的问题
2011-07-06 16:44 4031关于这个问题,网上也有很多人问了这个问题,但只有自己碰到了才知 ... -
【7.5】MediaPlayer的生命周期
2011-07-05 10:32 1170详细见 http://hi.baidu.com/jugege/ ... -
【7.1】seekBar的使用心得
2011-07-01 14:34 1565seekBar即可拖动的进度条,可以作为播放器的进度条来使用, ... -
【6.29】android一些常用的调试方法
2011-06-29 15:42 12631、打log,按调试,查日志,最常用的方法 ... -
【6.29】Eclipse的一些快捷操作
2011-06-29 09:53 891Ctrl + F 搜索本页面 Ctrl + H ... -
【6.28】GestureDetector手势监听
2011-06-28 17:56 1461接口有两个,如下: public interfa ... -
【6.22】Handler、Looper、Thread之间的关系
2011-06-22 17:33 1496Looper负责管理消息队列,Handler负责发送处理消息 ... -
【6.21】startActivityForResult传递Intent数据
2011-06-21 15:47 1298接上,设置完之后要传回数据且立刻生效,则可以用startAct ... -
【6.21】PreferenceActivity来设置setting菜单
2011-06-21 11:02 1199Shared Preferences可以存储一些程序的参数设置 ... -
【6.14】自定义控件
2011-06-14 15:43 7431、在res/values文件下定义一个attrs.xml文件 ... -
【6.13】利用LayoutInflater实现Layout的切换
2011-06-13 17:52 943主要是利用LayoutInflater的inflate方 ... -
【6.13】Application的一点理解
2011-06-13 10:59 682从Manifest.xml中可以看出,Activity、Ser ... -
【6.9】Broadcast的一点理解
2011-06-09 20:28 705Broadcast发出广播 首先定义Intent,然后 ... -
【6.9】Activity和Task
2011-06-09 19:59 863Task,是一系列用栈的形式表示的Activity的组合。 ... -
【6.8】Service的一点理解
2011-06-08 15:58 669与Activity不同,Service 自启动,运行在后台,不 ... -
【6.8】模拟home键的效果
2011-06-08 14:43 741事实上就是发出一个Intent到Intent.ACTION_M ... -
错误集合贴
2011-06-08 11:44 10501、一直提示Android Debug ‘source not ... -
【6.3】R.java的一点理解
2011-06-03 20:10 707R.java类似于一个资源索引,每个ID本质上只是一个int, ...
相关推荐
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 广播事件 ...
4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解: 5.2、Intent的属性及intent-filter配置:Component属性; Action、Category属性与intent-filter配置; Data、Type属性...
4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解: 5.2、Intent的属性及intent-filter配置:Component属性; Action、Category属性与intent-filter配置; Data、Type...
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...
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 ...
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 ...
1.4 android生命周期的介绍 1.5 android使用全局变量传递数据 1.6 android使用剪切板传递数据 1.7 意图传递数据的第一种方式 1.8 android使用静态变量传递数据 1.9 意图返回结果 二、Android常用布局介绍 2.1 ...
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...
每个组件(如Activity)都有自己的生命周期,了解它们的状态变化对于编写健壮的应用程序至关重要。 **3.3 Android程序UI设计** - **3.3.1 用户界面简介**: 介绍了Android应用的用户界面设计原则,包括布局管理器、...
- **5.1.2 应用程序的生命周期**:每个组件都有自己的生命周期,了解它们的状态转换对管理应用的行为至关重要。 #### 三、Android的UI系统实现 ##### 6.1 控件和基本事件的响应 - **6.1.1 事件响应方法**:通过...
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 列表...
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 列表...
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...
深入解析应用程序的组成部分及其生命周期,包括如何管理和响应不同状态下的应用行为。 ##### 5.2 应用程序文件组成 探讨构建Android应用所需的各种文件类型及其作用。 ##### 5.3 使用am工具启动应用 am工具允许...
- **应用程序的生命周期** 指的是从创建到销毁的过程中,应用程序经历的不同状态。 ##### 5.2 应用程序包含的各个文件 - **主要文件** 包括: - **源代码文件** (`*.java`): 包含应用程序的业务逻辑。 - **布局...
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...