Binderサーバプロセスの並行処理実装とスレッド管理

複数のクライアントから同時にリクエストが送信される場合、Binderドライバがサーバプロセスに対して新規スレッドの生成を要求することがあります。この動作はkernel/drivers/android/binder.cの処理ロジックに基づいています。 ドライバ内部の判定処理では、以下の条件をすべて満たした場合にBR_SPAWN_LOOPERコマンドが発行されます。 プロセス内のrequested_threadsカウ ...

7月16日 19:48 投稿

Androidにおける静的プロキシパターンの詳細解説

1. 基本概念とUML図 1. 標準的な静的プロキシ構造 classDiagram class Subject { <<interface>> +request() void } class RealSubject { +request() void } class Proxy { -realSubject: RealSubject +request() void +preRequest() void +postRequest() void } ...

7月12日 17:04 投稿

AndroidにおけるカスタムParcelableオブジェクトとAIDLを用いたプロセス間通信の実装

プロジェクト概要 この記事では、Androidアプリケーション間でカスタムデータ構造を含むプロセス間通信(IPC)を行う方法を説明します。Androidが提供するBinderフレームワークとAIDL(Android Interface Definition Language)を活用して、複数アプリケーション間でデータを双方向にやり取りする実装例を紹介します。 実装要件 2つのアプリケーション間でのデータ交換 ...

5月19日 19:39 投稿