【发布时间】:2013-07-05 17:57:13
【问题描述】:
您正在进行一项活动并按下主页按钮。
然后您长按主菜单按钮,然后从“最近的活动”屏幕中选择您正在进行的活动。
activity再次显示时调用什么方法? onResume、onRestart 或其他?
【问题讨论】:
-
onResume被调用。后台活动可能会被销毁以回收内存
标签: android android-activity activity-lifecycle
您正在进行一项活动并按下主页按钮。
然后您长按主菜单按钮,然后从“最近的活动”屏幕中选择您正在进行的活动。
activity再次显示时调用什么方法? onResume、onRestart 或其他?
【问题讨论】:
onResume 被调用。后台活动可能会被销毁以回收内存
标签: android android-activity activity-lifecycle
我相信即使在pause 或stopped 之后,onResume 也会被调用。
如果background中的活动已经是stopped,则可能会调用onRestart
建议将您的数据保存在onPause 并在onResume 上使用一些标志重建它,因此标志可以告诉您onResume 是在onPause/onStopped 之后调用还是新创建的活动。
【讨论】:
取自 Android 开发者网站
"...当用户离开您的活动时,系统调用 onStop() 停止 活动(一)。如果用户在活动停止时返回, 系统调用 onRestart() (2),紧随其后的是 onStart() (3) 和 onResume() (4)。请注意,无论哪种情况导致 活动停止,系统总是在调用之前调用 onPause() onStop()..."
这是的活动
所以不管onResume() 最终会被调用什么。
您可以下载ActivityDemo,它准确地展示了 Android 生命周期。 This 应该可以帮到你。
【讨论】: