2

Android アプリで、従来のオブザーバー デザイン パターンよりもインテント ベースのアプローチを優先すべき時期を考えています。

インテントを使用して 1 つのアクティビティ内でイベントを公開するのは賢明でしょうか?

4

2 に答える 2

1

意味

オブザーバーは、変更を通知するために依存関係のリストを維持します。一方、インテントは操作の抽象的な記述です。これは、タスクを実行するために同じまたは複数のアプリケーションで受信できます。

同期 VS 非同期

オブザーバーは、変更が正しく反映されるため、同期的です。インテントは非同期です。

バインディング

オブザーバー バインディングはコンパイル時です。一方、インテントバインディングは実行時に行われます

安全

インテントがメッセージをブロードキャストし、誰でもメッセージを受信できるため、内部通信オブザーバーは非常に安全です。

Intent は、Android プラットフォームの Observer に追加機能を提供します

  • サードパーティのアプリケーションおよびプロセスとの通信。
  • タスクを実行するためのシステム通知を受け取る
  • サードパーティ アプリによるアプリケーション モジュールの再利用。(写真を撮る例)
  • インテントは残り、アプリは後でデータを取得できます (スティッキー インテント)

インテントを使用して 1 つのアクティビティ内でイベントを公開するのは賢明でしょうか?

これは要件によって異なります。要件を調べて、どれが必要かを確認してください。

于 2013-04-09T05:52:21.727 に答える
0

あなたの活動がシングルトップとして宣言されていない限り、新しい意図は通常新しい活動をもたらすからではないと思います. とにかく、意図はオブザーバーにあまり似ていません。Handler は、より適切な近似になる可能性があります。

于 2013-04-09T06:04:54.140 に答える