【问题标题】:Differences between Asynctasks and DaemonsAsynctasks 和 Daemons 的区别
【发布时间】:2016-04-22 23:50:42
【问题描述】:

在这个问题中:Android: AsyncTask vs Service,有人回答了

Service 是守护进程,AsynkTask 是后台线程

有人回复了这个答案:

服务不是守护进程,因为它没有自己的执行线程。

问题:由于两者都使用线程操作并在后台工作,除了各自的生命周期之外,AsynctasksDaemon 进程之间的主要区别是什么? p>

【问题讨论】:

    标签: android service android-asynctask daemon


    【解决方案1】:

    我在任何地方都没有遇到过将 Daemon 与 Services 或 AsyncTask 一起使用的术语。对我来说,守护线程是来自 java 的线程,它允许 JVM 完成未完成的线程。在 Android 方面,您无法控制您的 App 进程 - 您最多可能会杀死它。

    Android 服务是一个组件 - 这将它放置在 Activity 组件附近。这是什么意思?它由系统管理 - 它有其生命周期,在此期间生命周期方法被调用。可以将服务配置为重新创建,或者您可以将其设置为前台(这样系统就不太可能杀死它)。由于它是一个组件,您可以将其配置为在单独的进程下运行。默认情况下,它没有自己的执行线程——它在 UI 线程上运行。

    现在 AsyncTask 是完全不同的东西,它不是一个组件,所以你不能从上面做任何事情。它有一个后台工作线程。实际上,AsyncTask 是 Executors 线程池的包装器,带有一些生命周期方法 - 例如 onPreExecute、onPostExecute、... 它不应与服务进行比较,而应与 Loaders 进行比较。

    【讨论】:

    • 因此,假设我在启动时使用 AndroidManifest.xml 中的“ACTION_BOOT_COMPLETED”启动应用程序,并且我希望应用程序在后台继续运行,并在满足特定参数后启动某些任务。我应该使用守护进程还是其他东西?
    • @ShirazChokshi - 我认为Services 在Android 上比daemon 更常用。
    • @LinX64 在这种情况下我为什么要使用服务?
    • 你不应该,这是一个建议。但它们是一样的,只是彼此之间有一点不同。你可以找到很多教程或例子来做这件事,让我们考虑一下,服务没有 GUI。我说因为我看到很多用户都在使用它,你应该选择哪一个最适合你的 porpuse 顺便说一句。
    • @ShirazChokshi 是的,对于如此长的后台任务,请使用 Service - 在您的场景中无法使用 AsyncTask。如果您愿意,可以从 Service 内部执行 AsyncTask。如果您的后台任务必须执行很长时间,那么您可以将您的服务设为前台 - 但这需要您设置通知 - 您可能会将其视为服务的一种 GUI 端。服务将使用此通知报告其工作 - 比如正在进行的文件下载 - 进度。
    【解决方案2】:

    根据: http://www.linux.org/threads/android-services-and-daemons.7143/

    服务:

    “服务”是在后台运行的特殊软件,例如 GNU/Linux 上的守护进程。服务没有图形用户界面。 “启动服务” 在后台运行,直到它完成任务、崩溃或 由用户或应用程序显式关闭。 “绑定服务” 持续存在,直到没有更多的应用程序附加或绑定到服务。

    AsyncTasks:

    AsyncTasks 专为一次性耗时的任务而设计, 运行 UI 线程。一个常见的例子是获取/处理数据 按下按钮时。

    守护进程:

    “守护进程”是在后台运行的进程*不拥有 GUI服务通常是守护进程,而守护进程通常被视为服务。然而,服务和守护进程之间的确切区别是模糊的。一般来说,它们可以被认为是同一个实体。但是,有些人使用“守护程序”来指代一个软件,而“服务”来指代守护程序提供的操作和 API。

    【讨论】:

    • 那么 AsyncTask 与 Daemon 进程有何不同?
    猜你喜欢
    • 1970-01-01
    • 2012-01-30
    • 2011-06-18
    • 1970-01-01
    • 2013-08-07
    • 2011-10-20
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多