android服务线程进程

时间:2012-12-26 22:32:54

标签: android multithreading service process ocr

从我的研究中我相信他们有3种方法可以在Android中运行服务:

  1. 在应用程序的主线程中。
  2. 在与应用程序主线程分开的线程中。
  3. 在一个完全独立的过程中。
  4. 我的目标是创建一个具有针对图片运行OCR功能的应用并返回文本。我知道选项1已经出局,因为我的原型需要很长时间才能在具有双核CPU的手机上运行OCR。我无法找到关于线程主题与服务的不同过程的讨论。

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

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

1 个答案:

答案 0 :(得分:0)

  

从我的研究中我相信他们有3种方法可以在Android中运行服务:

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

  

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

选项#3浪费CPU和RAM以获得少量附加值,恕我直言。

  

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

IntentService automatically provides you with a background thread