微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 什么时候才能使用savedInstanceState?

我是 Android的新手,我在使用savedInstanceState和管理生命周期时遇到了一些麻烦.

http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle
我阅读了有关生命周期的文章,但我真的不知道该进程何时被杀死,并且我将使用我的niceInstanceSate!我可以按“HOME”,但它只会启动“onPause”然后“onResume”我认为.

如果我转到菜单 – >设置 – >应用程序 – >管理应用程序 – >我的应用程序名称 – >强制停止,它仍然被视为正在运行的应用程序,但当我重新启动它时,我会回到“第一次活动”.所以就像关闭应用程序一样,如果我理解的话,它不是我想要的“杀死过程”.

所以这是我的问题:

1)我如何确定我的进程被杀死(因此我的应用程序将在重新启动时使用savedIntanceState)?

2)如何强制进程被杀死,以测试我的savedInstanceState是否编程良好?

3)在被“杀死”之后,应用程序重新启动并调用“onCreate”(使用savedInstanceState!= null那个时间),我是否仍然可以访问我在调用Activity时给出的Intent Extra信息,或者当进程被杀死时,意图的信息被删除了吗?
换句话说,我必须在我的saveInstanceState中包含存储在Intent Extra中的内容的副本吗?

我希望我足够清楚;)

解决方法

1)您需要担心的是覆盖Activity的onSaveInstanceState(). Android会在杀死您的进程之前调用它.

2)你需要设置一个Android test project.然后,创建一个扩展ActivityInstrumentationTestCase2的测试,你可以通过调用`getInstrumentation()获得一个Instrumentation对象.从那里,您可以调用Instrumentation.callActivityOnCreate并传递Bundle对象以用于测试.

3)我很确定你会将附加内容存储在savedInstanceState包中.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐