`

Activity状态转换和相应的回调函数

 
阅读更多

    During the life of an activity, the system calls a core set of lifecycle methods in a sequence similar to a step pyramid. That is, each stage of the activity lifecycle is a separate step on the pyramid. As the system creates a new activity instance, each callback method moves the activity state one step toward the top. The top of the pyramid is the point at which the activity is running in the foreground and the user can interact with it.

    As the user begins to leave the activity, the system calls other methods that move the activity state back down the pyramid in order to dismantle the activity. In some cases, the activity will move only part way down the pyramid and wait (such as when the user switches to another app), from which point the activity can move back to the top (if the user returns to the activity) and resume where the user left off.




Depending on the complexity of your activity, you probably don't need to implement all the lifecycle methods. However, it's important that you understand each one and implement those that ensure your app behaves the way users expect. Implementing your activity lifecycle methods properly ensures your app behaves well in several ways, including that it:

Does not crash if the user receives a phone call or switches to another app while using your app.
Does not consume valuable system resources when the user is not actively using it.
Does not lose the user's progress if they leave your app and return to it at a later time.
Does not crash or lose the user's progress when the screen rotates between landscape and portrait orientation.
As you'll learn in the following lessons, there are several situations in which an activity transitions between different states that are illustrated in figure 1. However, only three of these states can be static. That is, the activity can exist in one of only three states for an extended period of time:

Resumed
In this state, the activity is in the foreground and the user can interact with it. (Also sometimes referred to as the "running" state.)
Paused
In this state, the activity is partially obscured by another activity—the other activity that's in the foreground is semi-transparent or doesn't cover the entire screen. The paused activity does not receive user input and cannot execute any code.
Stopped
In this state, the activity is completely hidden and not visible to the user; it is considered to be in the background. While stopped, the activity instance and all its state information such as member variables is retained, but it cannot execute any code.
The other states (Created and Started) are transient and the system quickly moves from them to the next state by calling the next lifecycle callback method. That is, after the system calls onCreate(), it quickly calls onStart(), which is quickly followed by onResume().
  • 大小: 47.6 KB
分享到:
评论

相关推荐

    activelife

    这些状态之间的转换是由系统调用相应的回调函数来执行的。 1. **创建(Created)**: 当Activity首次被创建时,会调用`onCreate()`方法。这是初始化Activity的最佳时机,比如设置布局、数据绑定等操作。 2. **启动...

    Android activity原理分析

    本文将重点围绕Activity的生命周期展开讨论,详细介绍各个回调方法(如`onCreate()`、`onStart()`、`onResume()`等)的执行时机与逻辑,并通过流程图的形式清晰地展示Activity状态转换的过程。 #### Activity 的...

    Activity生命周期

    每个状态的过渡都会打印相应的日志,帮助你理解每个回调函数的执行时机。通过运行此项目,你将直观地了解到Activity如何在不同场景下响应用户的操作和系统的调度。 记住,理解和掌握Activity生命周期对于优化应用...

    Android 实现适配器中的子控件与Activity通信

    当Adapter中的子控件状态改变时,更新ViewModel的数据,Activity通过观察ViewModel的改变来执行相应的操作。 5. **RxBinding库**:结合RxJava,可以轻松地处理子控件的事件流,将它们转换为可观测对象,然后在...

    android考试复习资料

    每个状态都有相应的回调函数,如 onStart()、onRestart()、onResume()、onPause()、onStop() 和 onDestroy(),这些函数在状态转换时被调用,允许开发者进行相应操作。 Service 是无界面的后台服务,用于执行长时间...

    总结Android GWES基本原理.docx

    Message对象携带着回调函数,当消息被处理时,对应的回调函数会被执行。 4. **Looper的运行位置**:Looper通常在主线程(UI线程)中运行,负责接收和分发消息。在Activity的生命周期中,Looper在onCreate()方法之后...

    日历控件calendarViewDemo

    这需要更新布局中的视图状态,并可能需要回调函数通知父组件或Activity关于所选日期的变化。 5. **事件监听**:添加监听器以响应用户的日期选择,通常通过接口或回调函数实现。这样,当用户选择一个日期时,可以...

    android基础知识集合

    11. **回调函数和抽象接口**:回调函数和接口用于解耦代码,使得模块间通信更加灵活。例如,AsyncTask的onPostExecute()就是一个典型的回调方法。 12. **JNI(Java Native Interface)**:允许Java代码调用C/C++...

    传智播客_Andorid_20天精通Android开发视频_第07天视频

    在这一天的课程中,你将学习到Activity的不同状态(如运行、暂停、停止和销毁),以及如何在这些状态之间进行转换,这对于优化应用性能和处理用户交互至关重要。 2. **Intent和Intent过滤器**:Intent是Android中...

    retrofit+协程==网络请求框架封装完成,包括loading,刷新token,过滤返回的错误状态码

    协程是Kotlin的一种特性和编程模型,它为异步编程提供了一种轻量级的解决方案,避免了回调函数的嵌套,使得代码更易于理解和调试。在Android环境中,配合`CoroutineScope`和`launch`,我们可以轻松地启动和管理异步...

    安卓Android源码——二维码扫描和生成亲测可用版BarCodeDemo.rar

    回调函数通常包含二维码的内容,可以用来执行相应的操作。 5. **生成二维码**: 生成二维码的步骤包括创建一个BitMatrix对象,填充数据,然后转换为Bitmap。ZXing库提供了BitmapGenerator类,通过调用其generate...

    android中文离线发音引擎FOCTTS使用源码.zip

    调用`synthesize`方法,传入待转换的文本和回调函数。这个回调函数会在合成完成后被调用,提供合成的音频数据。 4. **播放音频**: 得到音频数据后,可以使用Android的AudioTrack或MediaPlayer来播放生成的语音。...

    android实验2界面设计:基本组件.doc

    - 在Java代码中为组件设置监听器,然后在回调方法中实现相应逻辑。 5. **将组件值提交到下一个Activity** - 使用`Intent`来启动新的Activity,并通过`putExtra()`方法传递数据。 - 在目标Activity中,使用`...

    TextView+Fragment实现底部导航栏

    2. 实现点击TextView时的回调函数,根据点击的TextView,通过FragmentManager的`beginTransaction()`方法替换当前显示的Fragment。使用`replace()`方法替换布局中的Fragment,然后调用`commit()`提交更改。 **四、...

    android 实现竖屏二维码扫描.zip

    源码中会包含监听器和回调函数,以在识别成功时执行相应的业务逻辑。 11. **错误处理和用户体验**:良好的用户体验需要考虑到各种异常情况,如相机无法打开、二维码无法识别等,此时应用应提供友好的错误提示和解决...

    Android 电影购票源码.zip

    - **支付回调处理**:支付成功后,SDK会通过回调函数通知应用,源码中需要处理这些回调,更新订单状态,并展示相应的提示信息。 4. **数据库操作** - **SQLite**:应用可能使用SQLite数据库存储用户信息、订单...

    belajar-activity

    8. **回调和监听器**:Activity 中经常使用各种监听器,如点击事件监听器,以便在用户与界面交互时执行相应操作。学习如何设置这些回调是关键。 9. **保存和恢复状态**:当 Activity 被销毁(例如设备旋转)后,你...

    ( 第一个Android的完整程序(UDP通讯工具)

    - Handler是Android中用于处理主线程消息的机制,常用于UI更新或异步任务的回调。在这个例子中,可能没有直接使用Handler,但如果要在UI线程中更新状态(比如显示发送成功的消息),就需要用到Handler来避免阻塞...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    除在保密期内的保密论文和在技术保护期限内的论文外,允许论文被查阅和借阅,可以公布(包括以电子信息形式刊登)论文的全部内容或中、英文摘要等部分内容。论文的公布(包括以电子信息形式刊登)授权东南大学研究生...

    支付宝集成过程详解——运行DEMO

    你需要在应用中设置一个回调函数,用于接收并解析这个结果,然后更新应用状态,如显示支付成功或失败的信息。 7. **DEMO运行与调试** 运行DEMO项目可以帮助开发者直观地理解每个步骤的效果。DEMO通常包含了完整的...

Global site tag (gtag.js) - Google Analytics