一个服务是一种应用程序组件重新presenting无论是应用程序的愿望,执行长时间运行的操作,而不是与用户交互或提供功能的其他应用程序使用。
A Service is an application component representing either an application's desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use.
片段可以使用而不定义用户界面。它建议使用无头片段为您的后台处理。
Fragments can be used without defining a user interface. It is recommended to use headless fragments for your background processing.
这里的区别是什么?
服务
s的的优先级高于活动
S上的过程级。当内存不足时,Android系统将优先服务
结束了活动
s,因而服务
■对于长时间运行的任务的理想选择。请参阅文章,题为进程和线程了解详情。
Service
s are given higher priority than Activity
s at the process-level. When memory is low, the Android system will prioritize Service
s over Activity
s, making Service
s the ideal option for long-running tasks. See the article titled Processes and Threads for more information.
此外,当你的状态下在你原来的职位:
Also, when you state the following in your original post:
片段可以使用而不定义用户界面。它建议使用无头片段为您的后台处理。
Fragments can be used without defining a user interface. It is recommended to use headless fragments for your background processing.
你从哪儿引用此?我同意第一句,但第二句是太一般了。对于短运行的任务(例如执行HTTP请求等),无头片段很好地工作。但是,对于执行长期运行的后台处理(例如下载一个很大的文件等),无头的片段可能不是你想要的。例如,如果你使用一个无头的片段来执行长时间运行的任务,用户点击返回按钮,这将导致两个活动
和它的无头片段
被消除了。
Where are you quoting this from? I agree with the first sentence, but the second sentence is too general. For short-running tasks (such as performing HTTP requests, etc.), headless fragments work fine. However, for performing long-running background processing (such as downloading a very large file, etc.) a headless fragment may not be what you want. For example, if you used a headless fragment to perform a long-running task and the user clicked the "back button", this will cause both the Activity
and its headless Fragment
to be destroyed.
总之,服务是存在独立的活动的背景部件
,这意味着它可以继续在后台运行,即使活动
赖以起家的服务被销毁。而另一方面,一个无头的片段总是有关联的父活动
。如果活动
承载片段是由系统破坏,那么该片段将被杀死也。
To summarize, a service is a background component that exists independent of an Activity
, meaning that it can continue to run in the background even if the Activity
which started the service is destroyed. On the other hand, a headless fragment will always have an associated parent Activity
. If the Activity
that hosts the fragment is destroyed by the system, then the fragment will have to be killed as well.