时间:2010-07-24 16:01:27

标签: android

3 个答案:

答案 0 :(得分:7)

每次活动不再可见时,都会调用

onStop()。 因此,当按下后退按钮时,实际上会调用onStop()

轻松检查, - 需要在onStop()/onStart()回调中放置断点并运行调试会话。

但是请注意,当前活动的onStop()很可能会被调用到您正在切换的活动onStart()/onResume()之后。

因此,我认为您正在尝试更新第1个活动的onStop()中的内容,并期望在第2个活动的onStart()中获取更新的数据,从而导致错误。

答案 1 :(得分:0)

如果在创建新实例时仍需要为活动实例调用这些实例,则可以使用this hacky solution。 只需在#doStopOperation()和#doDestroyOperation()中实现您的逻辑,而不是#onStop()和#onDestroy() - 并确保从被覆盖的方法中调用super#onStop()和super#onDestroy()。显然,在扩展此活动时,您不需要扩展AppCompatActivity,而是可以使用常规活动。这对我来说在生产构建中很有用,所以希望它会有所帮助。

我猜你也可以写一个计时器hack来调用 stop destroy ,即使没有创建新实例,但这取决于你。

答案 2 :(得分:-4)