54

我目前正在编写我的第一个 Android 应用程序,并且不断遇到对后台和前台服务的引用。由于我打算在我的应用程序中使用一项服务,我希望能够澄清这两者以及它们是如何使用的。

4

4 回答 4

53

也许这会回答你的问题:

启动的服务可以使用 startForeground API 将服务置于前台状态,系统认为它是用户主动意识到的,因此在内存不足时不适合杀死。默认情况下,服务是后台服务,这意味着如果系统需要杀死它们以回收更多内存(例如在 Web 浏览器中显示大页面),可以将它们杀死而不会造成太大伤害。

更多信息可以在这里找到

于 2010-08-21T20:30:52.713 回答
48

前景:该过程依赖于 onPause() 和 onResume()...即您播放音乐播放器并按下暂停和播放

背景:在没有用户交互的情况下运行的过程,即接收消息、来电、接收邮件或设置警报。这里使用的方法是 onStart() 和 onStop()。

例如,在手机上查看。在早上 6:30 创建闹钟。当系统时钟到达早上 6:30 时,它会触发。为了终止报警服务,只需进入菜单-->设置-->应用程序-->运行服务-->点击停止服务。即使您的系统达到不会触发的时间,它也会停止警报服务。

于 2012-02-17T05:50:08.017 回答
2

Foreground Service当用户与应用程序交互时使用,并且在Service执行用户可见的操作时使用。Background Service甚至在用户关闭应用程序(从最近的应用程序中丢弃)以及Service执行用户不可见的操作时使用,例如从服务器下载数据、从服务器加载数据ContentProvider等。并且Foreground Service不太可能被内存不足的系统杀死。

于 2019-05-18T06:45:55.363 回答
0

每当用户根据应用程序收到通知通知时,@Alex 用户就会了解前台服务。

于 2021-04-02T05:14:45.717 回答