흠,, AIDL
AIDL은 IDL(인터페이스 정의 언어)들과 비슷합니다. 이것은 클라이언트와 서버가 서로 다른 프로세스에서도 통신(IPC)할 수 있도록 프로그래밍 인터페이스를 정의하는데에 사용됩니다. 안드로이드 시스템에서, 프로세스는 다른 프로세스의 메모리에 직접 접근할 수 없습니다. 따라서 다른 프로세스와 통신하기 위해서는, 우선 객체들을 OS가 이해할 수 있도록 원시 타입의 데이터(primitives)로 분리하고, 마샬링(직렬화와 유사)을 할 필요가 있습니다. 그런데 마샬링을 위한 개발작업은 상당히 지루하기 때문에, 안드로이드는 AIDL을 이용하여 그것의 상당부분을 대신 해줍니다.
이런걸 생각하신건 아니가요?