我目前正在编写我的第一个Android应用程序,并且我一直在运行对后台和前台服务的引用。由于我打算在我的应用程序中使用服务,我希望得到两者之间的澄清以及如何使用它们。
答案 0 :(得分:44)
也许这会回答你的问题:
已启动的服务可以使用startForeground API来放置服务 处于前景状态,系统认为它是某种东西 用户积极地意识到并因此不是杀人的候选人 当内存不足时。默认情况下,服务是后台,意思是 如果系统需要杀死它们以回收更多内存(例如 在Web浏览器中显示一个大页面),它们可以在没有的情况下被杀死 伤害很大。
可以找到更多信息here
答案 1 :(得分:30)
前景:该过程依赖于onPause()和onResume()......即您播放音乐播放器并按暂停和播放
背景:在没有用户交互的情况下运行的过程,即接收消息,来电,接收邮件或设置警报。这里使用的方法是onStart()和onStop()。
例如,请在手机上查看。在早上6:30发出警报。当系统时钟到达早上6:30时,它会发射。要取消闹钟服务,只需转到菜单 - >设置 - >应用程序 - >正在运行服务 - >点击停止服务。即使您的系统到达不会触发的时间,它也会停止警报服务。
答案 2 :(得分:0)
Foreground Service
用于当用户与应用程序进行交互并且Service
做对用户可见的操作时。 Background Service
用于什至是用户关闭应用程序(从最近的应用程序中丢弃),并且Service
正在进行用户不可见的操作(例如从服务器下载数据,从ContentProvider
加载数据等)时。 Foreground Service
不太可能被内存不足的系统杀死。
答案 3 :(得分:0)
@亚历克斯 每当用户根据应用收到通知时,用户就会了解前台服务。