このステートメントの意味とその意味は何ですか。
オブジェクトは、プロセス全体で参照カウントされます。
これは、追加のメモセクションにあるAndroidプロセス間ドキュメントからのものです。
ガベージコレクションと関係がありますか(各プロセスが独自のオブジェクトを収集しません)?
このステートメントの意味とその意味は何ですか。
オブジェクトは、プロセス全体で参照カウントされます。
これは、追加のメモセクションにあるAndroidプロセス間ドキュメントからのものです。
ガベージコレクションと関係がありますか(各プロセスが独自のオブジェクトを収集しません)?
@mparaz から提供されたリンクを読みました。このリンクでは、Google フレームワーク エンジニアの Diane Hackborn が Android Binder について説明しています。
これは私がリンクから理解したものです:
Android Binder は、Android のコアのすべての側面 (UI からシステムのベース レベルまで) に非常に緊密に統合されているもう 1 つのカーネル内 IPC メソッドです。プロセス管理の側面とプロセス間通信を組み合わせます。これは、一部の Linux プロセス制御メカニズムをバイパス/再実装するカーネル モジュールとして記述されています。
私が理解できる限りでは、このタイプのプロセス間通信を使用すると、通信しているアプリケーションもシャットダウンし、そのアプリケーションがシャットダウンされない限り、アプリケーションがシャットダウンした場合でも、オブジェクトがガベージ コレクションされることを確認できないようです。他のアプリケーションと同じ方法で通信したことはありません (これも、自分のものでない限り、決して確信できません)。
したがって、基本的に、この方法でオブジェクトを渡す場合、オブジェクトのガベージ コレクションに依存するべきではないように思えます。それ以外は、通常どおり続行できます。
EDIT 1:関連する注意事項として、IPCのこのメソッドを手動で閉じる必要がある場合があるようです(放棄するのではなく)。そうしないと、アプリケーションがクラッシュする可能性があります(LicenseCheckerのonDestroy()メソッドを呼び出してIPC接続を閉じるを参照)。