2 つのブロードキャスト レシーバーを備えたアプリケーションがあります。1 つはデータを受信し、もう 1 つはデータを送信します。アプリケーションのデフォルトプロセスまたは別のプロセスで実行するための属性 android:process があることがわかりました。Google を使用して見つけた例では、レシーバーはプロセス ":remote" で実行するように設定されていました。
私の質問は、各オプションを使用することの利点と欠点は何ですか?
別のアプリケーションとリソースを共有する場合は、アプリケーションのデフォルト プロセスとは異なるプロセスを使用すると便利です。
プロセス名が小文字で始まる場合、グローバル プロセスが生成されます。コロン : で始まる場合、プロセスは非公開です。2 つのアプリ間でプロセスを共有するには、同じユーザー ID と同じアプリ証明書が必要であることに注意してください。
また、リソースを 1 回だけロードする必要があり、メモリ消費のメリットも得られます。
プロセスには独自のメイン スレッドがあります。したがって、異なるプロセスを使用する場合、つまり:remote
、そのプロセスで定義されたコードが別のスレッドで実行されることを意味します。通常のワークフローでは、これを行う必要はありません。