关于android活动生命周期的愚蠢问题

时间:2011-06-14 08:49:32

标签: android service android-activity resume

我有活动+服务类。

当程序运行时,将显示活动,并且将在onCreate活动方法中启动服务。

当我点击虚拟机的HOME按钮时,会出现HOME SCREEN,但活动已经消失

  1. 此时,我想知道程序在哪种情况下 - 暂停/停止 - ???
  2. 服务怎么了? (它还在运行吗?)
  3. 如何使用服务将活动带到前台?
  4. 谢谢...

3 个答案:

答案 0 :(得分:3)

如果您按下主页按钮,它会暂停活动。然后通过按下主页按钮再次启动它,它就会恢复它。

服务:它取决于您的服务的启动方式..

如果您使用startService(intent)启动服务,那么您的服务将一直运行,直到:

a)你通过调用stopService明确地停止它。

b)android杀死它

c)您从服务中调用selfStop

如果使用bindService()启动服务而不调用startService(),则服务将:

a)运行直到活动被销毁(没有暂停,所以这意味着如果你按下主页按钮它会继续运行)这也意味着你需要调用unbind()。

b)android杀死它

c)直到你从服务中调用selfStop

要将活动带到前台,您需要调用一个意图并设置标志我相信它是从历史记录或类似的东西启动....您将不得不检查文档。

intent.addFlag(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); < - 我想 或者这个 - > FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY

答案 1 :(得分:1)

请参阅下面的活动流程,希望有所帮助

The activity flow

答案 2 :(得分:0)

Activity(和Service)的状态可能会有所不同,具体取决于发生了什么。如果Android系统需要资源,则可能会破坏您的Activity(可能还有您的Service)以获取它们。你应该阅读:

Activity图表中(也在Mark Ba​​kker的回答中),要特别注意包含“其他应用程序需要记忆”文本的框。