深入理解Activity的生存期(二)
来源:互联网 发布:具体网络架构图 编辑:程序博客网 时间:2024/05/17 04:54
一个Activty的可见生存期:
是指调用onStart和onStop之间的那段时间。在这个时间段里,Activty对用户来说是可见的,但是它可能不具有焦点,或者被遮盖力。Activty在它们的完整生存期内可能会经历多个可见生存期,因为它们可能会在前台和后台之间进行切换。在个别的极端情况,android运行时可能会在一个Activity位于可见生存期时把它终止,而不调用onStop方法。
onStop方法应该用来暂停或者停止动画、线程、传感器监听器、GPS查找、定时器、Service或者其他专门用于更新用户界面的进程。当UI再次可见的时候,可以使用onStart(或者onRestart)方法来恢复或者重启这些进程。
onRestar方法用于在暂停或者停止后重新恢复时。
活动生存周期:
是指调用onResume及其对应的onPause之间的那段时间。一个处于活动状态的Activity是在前台的,并且正在接收用户的输入事件。Activity在被销毁之前可能会经历多个活动生存期,一定要尽量让onPause和onResume中的代码执行迅速,并且其中的代码尽可能少,以保证在前台和后台之间进行切换的时候应用程序能够保持响应。在onPause之前,是对onSaveInstance的调用。这个方法提供了把Actitivy的UI状态保存在一个Bundle中的机会,这个Bundle对象将会被传递给OnCreate和OnRestoreInstanceState方法。可以使用onSaveInstanceState来保存UI状态,从而保证当Actitvy下次变为活动状态时,它能够展现与之前相同的UI.
大部分Activity实现都至少会重写onSaveInstanceState方法来提交未保存的改动,以为它标记了一个点,在这个点之外的Activtiy可能在没有警告的情况下被终止。当Activity不在前台的时候,也可以根据应用程序的架构,选择挂起线程、进程或者Broadcast Receiver.
onResume方法可以说轻量级的。这里,不需要重写加载UI状态,因为当要求加载UI状态的时候,它会由onCreate和onRestoreInstanceState方法处理,使用onResume可以重新注册任何可能已经使用onPause停止的Broadcast Receiver或者其他进程。
总结:简单区分活动生存周期和可见生存期:能够响应用户操作的就是活动的,能看见,但不一定能响应用户操作的是可见生存期。
- 深入理解Activity的生存期(二)
- 深入理解Activity的生存期(一)之完整生存期
- Activity 的生存期
- Android - Activity的生存期
- 深入理解Activity(二)
- Activity正真的活动生存期
- Activity中活动的生存期详解
- Activity生存期
- Activity的深入理解
- Activity生命状态、生命周期和生存期的详解
- 深入理解View(二):Activity的页面结构
- 变量的生存期
- 活动的生存期
- 变量的生存期
- 变量的生存期
- 二十一天学通JavaScript:cookie的生存期
- 深入理解Activity生命周期(二)
- 深入理解Activity的生命周期
- 百字3元的论文摘要,——我们要买来些什么
- vc++使用EmptyWorkingSet来清理程序的内存
- OCP 1Z0 051 126
- 三星南京研发中心2014暑期实习嵌入式开发面试笔试部分
- 机房收费系统集锦(一)---打开重复窗体
- 深入理解Activity的生存期(二)
- SPI接口调试
- 每天,每周,每月,每年程序员该做的事情
- DSP学习指南
- 国内外著名科技博客
- JAVA调用动态链接库DLL之JNative学习
- TWRTR-ruru任何图如石投
- 印度人为什么在美国很团结(侧面看看中国人为啥不团结)
- error C2377: “resolver”: 重定义;typedef 不能由任何其他符号重载