`
dengyin2000
  • 浏览: 1225964 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

什么时候应该用onSaveInstanceState或者是onPause来保存状态?

阅读更多
引用
Basic rule to follow - use onSaveInstanceState if you want to put data into a bundle to be by onCreate. Use onPause to write persistent data that can be read during onResume.

In your case you will probably want to put most of your suspend logic in onPause. I find that I almost always use onPause for most suspend logic since my apps (games) don't usually reduce to something that can fit into a bundle easily.
分享到:
评论

相关推荐

    onSaveInstanceState保存数据demo

    在Android应用开发中,`onSaveInstanceState()`是一个关键的方法,用于在应用的Activity或Fragment生命周期中保存用户界面的状态。这个方法通常在系统即将销毁一个组件(例如:屏幕旋转、后台进程被清理等)时调用,...

    Android中用onSaveInstanceState保存Fragment状态的方法

    `onSaveInstanceState(Bundle outState)` 是一个生命周期方法,它会在Activity或Fragment进入不可见状态之前被调用,例如在暂停(`onPause()`)或停止(`onStop()`)之前。但请注意,如果用户手动关闭Activity或...

    fragment保存状态

    "fragment保存状态"这个主题主要涉及到如何在Fragment的生命周期中妥善地保存和恢复用户界面的状态,以避免在设备旋转或者Activity重建时丢失用户的数据和交互状态。 Fragment的生命周期包括了创建、可见性改变、...

    Android-一个简单的程序用来测试Android应用状态保存和恢复

    在Android开发中,应用的状态保存和恢复是一个至关重要的概念,特别是在用户离开应用或者系统需要回收内存时。这个程序示例,"Android-一个简单的程序用来测试Android应用状态保存和恢复",旨在帮助开发者理解如何...

    android FragmentActivity 保存fargment状态

    当设备配置改变或者用户离开Fragment时,系统会调用onSaveInstanceState(Bundle outState)方法,允许开发者保存Fragment的状态。在这个方法中,我们可以将关键数据保存到Bundle对象中,以便在Fragment重建时恢复。 ...

    android fragment 保存状态

    当我们谈论“android fragment 保存状态”,核心问题通常集中在如何在Fragment的状态发生变化时(例如屏幕旋转或系统内存回收)保留其数据和UI状态。 Fragment的生命周期中,有两个关键点与状态保存密切相关:`...

    Android状态保存

    本文将详细介绍Android中用于保存Activity状态的关键方法,并通过一个示例程序来加深理解。 #### 二、Android Activity生命周期 在探讨具体的保存机制之前,首先了解Android Activity的生命周期至关重要。Activity...

    activity生命周期保存数据

    - 对于复杂的UI状态,可能需要结合`onSaveInstanceState()`和`onPause()`一起使用,因为`onPause()`总是在`onSaveInstanceState()`之前调用,确保数据的完整性。 - 避免在`onSaveInstanceState()`中执行耗时的操作...

    Android编程实现状态保存的方法分析

    在某些情况下,我们可以在 onPause 方法中保存状态数据,在 onResume 方法中恢复状态数据。当 Activity 暂停或恢复时,这两个方法会被调用。这种方法适用于游戏、音乐播放器等应用程序。 三、使用生命周期方法 在 ...

    京东2018秋招Android工程师笔试题及答案.pdf

    5. 保存 UI 状态:在 Activity 生命周期中,可以使用 onSaveInstanceState 方法来保存 UI 状态,但只能保存部分 UI 状态,不能保存所有 UI 状态。 6. 死锁问题:死锁问题是指在多个进程中,因竞争资源而导致的僵持...

    SavingActivityStates

    - **onPause()**: 这个方法在Activity失去焦点时调用,通常用来保存不那么紧急但重要的状态,因为即使Activity没有被销毁,也可能暂时进入后台。 - **onCreate(Bundle savedInstanceState)**: Activity创建时调用,...

    SavingActivityState

    对于更复杂的数据,如数据库查询结果、网络请求的响应等,不能通过实例状态来保存,因为它们可能超出了`Bundle`的限制或者不适合存储为`View`的状态。这时我们需要在`onPause()`或`onStop()`方法中手动保存数据,并...

    037集-Activity纵横屏切换的数据保存与恢复

    在Activity销毁之前,开发者可以通过重写`onSaveInstanceState(Bundle outState)`方法来保存关键数据。`outState`参数是一个Bundle对象,可以用来存储任何可序列化的数据,如基本类型、字符串、数组、集合或自定义...

    生命周期测试 现场保护测试

    在Fragment中,可以使用onSaveInstanceState()方法来保存数据,然后在onActivityCreated(Bundle savedInstanceState)或onViewStateRestored(Bundle savedInstanceState)中恢复。 在实际开发中,为了实现良好的现场...

    android生命周期管理:重置一个Activity

    当用户离开 Activity 时,系统会调用这个函数,并传递一个 Bundle 对象,以便 Activity 可以保存状态信息到 Bundle 中。例如: ```java @Override public void onSaveInstanceState(Bundle savedInstanceState) { ...

    带checkbox和radiobutton的listview(实现翻页保存和单选)

    - 更好的做法是在Activity的`onPause()`或`onSaveInstanceState()`中,遍历ListView的所有可见项,保存Checkbox和RadioButton的状态到一个集合(如ArrayList)中。然后在`onResume()`或`onCreateView()`时,根据这...

    Android RetainFragment状态保存的方法

    本文将深入探讨如何利用`RetainFragment`来保存状态,以及Android提供的其他状态保存方法。 一、RetainFragment的使用 `RetainFragment`是一种特殊的`Fragment`,它在`Activity`被销毁并重新创建时,仍然保持其生命...

    ActivityLifecycle.zip

    此状态下,Activity仍然可见,但执行速度可能会变慢,因为系统可能需要保存状态。 5. **停止(Stopped)**:当Activity完全不可见,例如被新的Activity覆盖时,会调用`onStop()`。此时,Activity不再接收用户输入,...

    Android应用源码之(Activity生命周期).zip

    了解这些状态后,开发者可以有效地管理Activity的资源,比如在适当的时候保存和恢复状态,处理配置变化,以及优化性能。例如,通过在onSaveInstanceState()方法中保存关键数据,在onRestoreInstanceState()或...

Global site tag (gtag.js) - Google Analytics