[解決済み] 受信機でandroid: process =":remote "を使うべきですか?
質問
頻繁に呼び出される BroadcastReceiver があるのですが、多くの人が
android: process =":remote"
を受信します。私のは、いくつかのことをチェックし、条件が一致したらアラームを作動させるために使われます。私の質問は、私のマニフェストに上に投稿した行を使用する必要がありますか?そして、もしそうなら、そうすることの利点は何でしょうか?
どのように解決するのですか?
受信機を
android:process=":remote"
で定義することで、基本的に Receiver を別のプロセス (= VM) で実行することになります。一般的な使用例では、別のプロセスで実行する必要はなく、やりたいことはおそらくローカル (APK プロセス) で問題なく実行できます。
を使用することの欠点は
android:process=":remote"
を使用する欠点は、それを実行するために追加のリソースが必要になることです (この場合は別のプロセスです)。そうすると、基本的に 2 つの VM を扱うことになり、シングルトンや静的フィールドなどのいくつかのパターンは、アプリとリモート サービス間で共有できなくなります。
を使用することの利点は
android:process=":remote"
を使用する利点は、 アプリケーションをシャットダウンした後も (独自のプロセスで) サービスを起動し続けたい場合、 あるいはリモートクライアントがサービスにバインドできるようにしたい場合などに便利なことです。ブロードキャストレシーバーは、 アプリケーションのメインスレッドをブロックしないように
onReceive()
メソッドを呼び出したときに、 アプリケーションのメインスレッドをブロックすることはありません (ただし、これを実装する方法は他にもあります)。
私は、ほとんどの場合、ほとんどの一般的なユースケースで
android:process=":remote"
.
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】AndroidでReceiverが登録されているかどうかを確認する方法は?
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] Android Navigation Architecture Component - 現在表示されているフラグメントを取得する
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] アダプタからActivityメソッドを呼び出す
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?
-
[解決済み] WhatsAppでメッセージを送信する