首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当应用程序移到后台时,onSaveInstanceState()不调用自定义视图

当应用程序移到后台时,onSaveInstanceState()不调用自定义视图
EN

Stack Overflow用户
提问于 2014-10-06 10:19:32
回答 2查看 788关注 0票数 0

在我正在开发的应用程序中,我有一个自定义视图,在这个视图中,当屏幕配置发生变化或应用程序被移动到后台时,我需要保存实例状态。我实现了onSaveInstanceState()onRestoreInstanceState(Parcelable savedInstanceState),在屏幕配置更改的情况下,实例状态被保存和完全恢复。然而,当应用程序被移到后台时,onSaveInstanceState()不会被调用。这意味着当活动再次被带到前台时,我没有保存的实例状态。我的问题是:

为什么当应用程序被移动到后台时不调用onSaveInstanceState(),以及当应用程序移到后台时是否可以让我的视图调用onSaveInstanceState()

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-06 10:51:32

当您按后退按钮离开活动时,就会发生这种情况。-零

当使用Back按钮离开应用程序时,Android没有调用onSaveInstanceState方法,这是预期的系统行为。后退按钮意味着停止你的应用程序(读:活动)。

后退按钮完成您的活动,没有必要保存应用程序状态。但是,如果有理由这样做,那么您应该重写onStop方法,并将数据保存到那里的文件系统。

来源:

http://developer.android.com/training/basics/activity-lifecycle/recreating.html (推荐阅读)

有几种情况下,您的活动由于正常的应用程序行为而被破坏,例如当用户按后退按钮时,或者您的活动通过调用finish()来表示自己的破坏。

票数 1
EN

Stack Overflow用户

发布于 2014-10-06 10:38:21

据我所知,当应用程序进入后台时,它在活动中调用onPause()方法。因此,请尝试将代码移动到onPause()方法。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26214194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档