我是Android的新手,我在使用savedInstanceState和管理生命周期时遇到了一些麻烦。
http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle 我阅读了有关生命周期的文章,但我真的不知道该进程何时被杀死,并且我将使用我的niceInstanceSate!我可以按“HOME”,但它只会启动“onPause”然后“onResume”。
如果我转到菜单 - >设置 - >应用程序 - >管理应用程序 - >我的应用程序名称 - >强制停止,它仍然被视为正在运行的应用程序,但当我重新启动它时,我会去回到“第一次活动”。所以这就像关闭应用程序一样,如果我理解的话,它不会像我想的那样“杀死进程”。
所以这是我的问题:
1)我如何确定我的进程已被杀死(因此我的应用程序将在重新启动时使用savedIntanceState)?
2)如何强制进程被杀死,以测试我的savedInstanceState是否编程良好?
3)当被“杀死”之后,应用程序重新启动并调用“onCreate”(使用savedInstanceState!= null那个时间),我仍然可以访问我在调用时给出的Intent Extra信息当进程被杀死时,活动或Intent的信息被删除? 换句话说,我必须在我的saveInstanceState中包含存储在Intent Extra中的内容的副本吗?
我希望我足够清楚;)
答案 0 :(得分:1)
1)您需要担心的是覆盖您的活动onSaveInstanceState()
。 Android会在杀死你的进程之前调用它。
2)您需要设置Android test project。然后,创建一个扩展ActivityInstrumentationTestCase2
的测试,并通过调用`getInstrumentation()获得Instrumentation
对象。从那里,您可以调用Instrumentation.callActivityOnCreate并传递Bundle对象以用于测试。
3)我很确定你会将附加内容存储在savedInstanceState包中。