Skip to content

Latest commit

 

History

History
12 lines (11 loc) · 979 Bytes

File metadata and controls

12 lines (11 loc) · 979 Bytes

Definition

  • 서로 다른 프로세스간 자원에 접근하기 위한 통신 규약

Features

  • 안드로이드 운영체제는 프로세스가 다른 프로세스의 자원에 직접 접근을 할 수 없음
  • 프로세스간 직접 통신은 보안상 취약하며 의존성을 만들어 관리하기 어렵기 때문
  • 안드로이드는 AIDL을 이용하여 바인더를 만들고 직렬화 및 역직렬화 수행
    • 직렬화: 데이터를 전달하기 위해 프로세스 메모리의 데이터를 커널 공유 메모리에 쓰는 것
    • 역직렬화: 데이터를 수신하기 위해 커널 공유 메모리의 데이터를 프로세스 메모리에 쓰는 것
  • 커널의 공유 메모리는 약 1MB로 한정적이기 때문에 50KB 이하 작은 데이터만 통신해야 함
  • 너무 큰 데이터를 통신하는 경우 TransactionTooLargeException 발생
  • 프로가딩을 이용하는 경우 직렬화 객체는 반드시 난독화 예외처리 필요