2011-07-04 25 views
7

私は1つのプロセスと2つのサービスを持つAndroidアプリケーションを開発しました。しかし、私は "Googleサービス"には2つのプロセスと1つのサービスがあることに気付きました。どのように2つのプロセスを持つことができますか?私はProcesses and Threadsでいくつかの読書をして、プロセスについてもっと理解しようとしました。それはマニフェストのエントリを持っていることについて話しますが、具体的な例がなければ私はそれを取得しません。誰かがAndroidアプリケーションが1つ以上のプロセスを持ち、その具体的な例を提供する方法を説明できますか?Androidアプリケーションはどのように複数のプロセスを持つことができますか?

答えて

15

マニフェストにandroid:process=":remote"を指定すると、アクティビティとサービスを別々のプロセスで実行できます。

「リモート」はリモートプロセスの名前に過ぎず、必要に応じて呼び出すことができます。複数のアクティビティ/サービスを同じプロセスで実行する場合は、同じ名前を付けてください。あなたが例を探しているなら

<activity android:name=".RemoteActivity" android:label="@string/app_name" android:process=":RemoteActivityProcess"/> 
+1

答えとブログはよく見えます。私はあなたの答えを受け入れて投票しています。私が後で何らかの明確化が必要な場合は、あなたが提供することを願っています。 – Marie

+0

ブログ投稿のリンクが死んでいます。本当に仲介しているので、修正してください。 – Jojje

+0

リンクは何らかの宝くじを表示します。リンクを修正してください。 – CopsOnRoad

2

hogwarts libraryをチェックアウトするか、それはあなたのアンドロイドでマルチプロセスのプログラミングのための設備を提供しなければなりません。

基本的に、サービスを独自のプロセスで実行するために必要なことは次のとおりです。 AndroidManifest.xmlで

  1. 、サービスのプロセス属性があることを確認してください「:リモート」またはそれのようなものを持つ「:」プレフィックス
  2. は(STARTSERVICEを使用してください)あなたの活動からサービスを起動するために呼び出します。
  3. ipcにAIDLを使用します。
  4. プロセス間ですべての転送を行います。 (これは実際にはポイント3の要件です)
関連する問題