이것저것 다 개발

[Android] Intent 본문

Android

[Android] Intent

용용개발 2017. 11. 28. 09:04

인텐트(Intent)란?? 액티비티를 포함한 각종 컴포넌트를 동작시키기 위한 매개체 입니다.

Intent intent = new Intent(this, BActivity.class);

startActivity(intent);

위의 간단한 코드처럼 화면을 이동할때도 쓰이지만

Intent intent = new Intent(this, BActivity.class);

intent.putExtra("key", value);

startActivity(intent);

이처럼 Activity간 데이터를 전달하는 역할도 합니다.


이때 한가지 의문점으로 AActivity와 BActivity가 실행되면서 각각의 프로세스로 2개가 실행되는데

서로 다른 프로세스는 서로의 메모리를 절대 참조할 수 없습니다.

하지만 Kernel Space(커널 메모리)를 통해 데이터를 전달 할 수 있고 바인더라는 것을 이용합니다.

이처럼 프로세스간 데이터를 주고받는 것을 전문 용어로 IPC (Inter Process Communication) 이라고 부릅니다.


Primitive Type > Serializable > Parcel > Parcelable > Bundle > Intent

인텐트는 사실 데이터 덩어리에 불과합니다. 수많은 데이터들을 프리미티브 타입 데이터와 그 밖에 직렬화된 데이터를 담아

직렬화 데이터 덩어리로 만들 수 있다는 점입니다.


Comments