后台服务和前台服务有什么区别?

And*_*her 42 android

我目前正在编写我的第一个Android应用程序,并且一直在运行对后台和前台服务的引用.由于我打算在我的应用程序中使用服务,我希望得到两者之间的澄清以及如何使用它们.

Asa*_*ahi 46

也许这会回答你的问题:

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

更多信息可以在这里找到

  • 服务是在前台还是在后台取决于两个因素:服务状态和启动方式.http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle (2认同)

小智 31

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

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

例如,请在手机上查看.在早上6:30发出警报.当系统时钟到达早上6:30时,它会发射.要杀死警报服务,只需转到菜单 - >设置 - >应用程序 - >运行服务 - >单击停止服务.即使您的系统到达不会触发的时间,它也会停止警报服务.


Sam*_*rov 5

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