0

私の調査によると、Androidでサービスを実行する方法は3つあると思います。

  1. アプリケーションのメインスレッド。
  2. アプリケーションのメインスレッドとは別のスレッド。
  3. 完全に別のプロセスで。

私の目標は、画像に対してOCRを実行し、テキストを返す機能を備えたアプリを作成することです。私のプロトタイプは、デュアルコアCPUを搭載した電話でOCRを実行するのに長い時間がかかるため、オプション1が出ていることはわかっています。スレッド化とサービスの別のプロセスのこのトピックに関する議論を見つけることができませんでした。

では、オプション2と3の長所と短所は何ですか?

編集:画像からテキストが表示されたらサービスを終了したいので、IntentServiceを使用する可能性があります。

4

1 に答える 1

0

私の調査によると、Androidでサービスを実行する方法は3つあると思います。

いいえ、#1と#3の2つがあります。サービスはスレッドを開始できますが、サービスのすべてのライフサイクルメソッドはメインアプリケーションスレッド上にあります。したがって、コンポーネントアーキテクチャの観点からは、#1と#2は同じものです。

では、オプション2と3の長所と短所は何ですか?

オプション#3は、CPUとRAMをほとんど付加価値のために浪費します、IMHO。

画像からテキストが表示されたらサービスを終了したいので、IntentServiceを使用する可能性があります。

IntentService バックグラウンドスレッドを自動的に提供します

于 2012-12-26T23:10:06.033 に答える