0

根据我的研究,我相信它们是您可以在 Android 中运行服务的 3 种方式:

  1. 在应用程序的主线程中。
  2. 在与应用程序的主线程分开的线程中。
  3. 在一个完全独立的过程中。

我的目标是制作一个具有对图片运行 OCR 并返回文本的功能的应用程序。我知道选项 1 已退出,因为我的原型需要很长时间才能在具有双核 CPU 的手机上运行 OCR。我找不到关于线程与服务的不同进程的讨论。

那么选项 2 和 3 的优缺点是什么?

编辑:我可能会使用 IntentService 因为我希望服务在它给我图像中的文本后终止。

4

1 回答 1

0

根据我的研究,我相信它们是您可以在 Android 中运行服务的 3 种方式:

不,有两个,你所拥有的 #1 和 #3。一个服务可以启动一个线程,但该服务的所有生命周期方法都在主应用程序线程上。因此,从组件架构的角度来看,#1 和#2 是同一件事。

那么选项 2 和 3 的优缺点是什么?

选项#3浪费CPU和RAM几乎没有附加值,恕我直言。

我可能会使用 IntentService,因为我希望服务在它为我提供图像中的文本后终止。

IntentService 自动为您提供后台线程

于 2012-12-26T23:10:06.033 回答