質問

私は頻繁に呼ばれる放送局を持っています、そして私は多くの人々が使用していることに気づきました

android: process =":remote" 

レシーバーで。鉱山はいくつかのものを確認するために使用され、条件が一致する場合はアラームをアクティブにします。私の質問は、上記のマニフェストに投稿した行を使用する必要があることです。もしそうなら、そうすることの利点は何ですか?

役に立ちましたか?

解決

レシーバーを定義することにより android:process=":remote" 基本的に、レシーバーを別のプロセス(= VM)で実行します。典型的なユースケースの場合、これを別のプロセスで実行する必要はありません。したいことは、おそらく(APKプロセスで)ローカルでうまく実行される可能性があります。

使用の欠点 android:process=":remote" 実行するには追加のリソースが必要です(この場合は別のプロセス)。そうすることで、基本的に2つのVMを扱っており、Singletonsのようないくつかのパターンを扱っているため、静的フィールドはアプリとリモートサービス間で共有できなくなります。

使用の利点 android:process=":remote" 一部のユースケースでは、アプリケーションをシャットダウンした後、またはリモートクライアントがサービスにバインドできるようにしたい場合(独自のプロセスで)実行を続けるサービスを開始するのが便利かもしれません。ブロードキャストレシーバーは、電話をかけたときに別のプロセスで実行するときにアプリケーションのメインスレッドをブロックしません onReceive() 方法(ただし、これを実装する他の方法があります)。

ほとんどの場合、最も一般的なユースケースでは、使用せずに逃げることができることがわかりました android:process=":remote".

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top