how*_*ttl 25 android android-lifecycle android-activity
有没有人知道在活动中何时使用savedInstanceState包的详尽列表?
我知道它在设备方向改变时使用.但是,当用户强制从Android设置关闭应用程序时似乎没有使用它,但这可能是由于我的代码中的某些内容.
还有哪些其他案例?
要清楚,"used"是指onCreate()调用时,savedInstanceState包不为null,并包含我上次onSaveInstanceState()调用时传入的数据.
tri*_*iad 39
当操作系统强制终止活动时使用它(例如:当您的活动在后台并且另一个任务需要资源时).发生这种情况时,onSaveInstanceState(Bundle outstate)将会调用并由您的应用程序添加您要保存的任何状态数据outstate.
当用户恢复您的Activity时,如果您的Activity在上述场景中被终止,则会被onCreate(Bundle savedInstanceState)调用并且savedInstanceState将为非null.然后,您的应用可以从中获取数据,savedInstanceState并将您的活动状态重新生成用户上次看到它时的状态.
基本上在onCreate,当savedInstanceState为null时,则表示这是您的Activity的"新鲜"启动.当它为非null时(如果您的应用程序保存了数据onSaveInstanceState(...),则表示需要重新创建活动状态).
Ari*_*eem 20
onSaveInstanceState 用于存储数据仅用于应用程序生命周期(即临时)
数据仅保存在内存中,直到应用程序处于活动状态,换句话说,当应用程序关闭时,此数据会丢失,因此在您强行关闭的情况下,onSaveInstanceState不会使用应用程序.
它只能在应用程序处于活动状态时进行操作时调用,例如,当您更改屏幕方向时,活动仍然完好无损,因此onSaveInstanceState被调用.
但是,如果要永久存储必须使用的数据SharedPreferences,请执行此操作SQLite database.
| 归档时间: |
|
| 查看次数: |
26623 次 |
| 最近记录: |