데이터를 효율적으로 전달하기 위해 데이터 직렬화를 사용한다.
- 서로 다른 앱은 서로 다른 프로세스다.
- 서로 다른 프로세스에 데이터를 전달하기 위해서는 커널 공유 메모리를 사용한다.
- 커널 메모리를 사용하기 위해서는 안드로이드는 바인더라는 것을 이용한다.
- 매우 빈번히 바인더를 사용하게 되면 그만큼 성능은 떨어지게 된다. 그래서 데이터를 효율적으로 전달하기 위해서 데이터 직렬화가 필요하다.
안드로이드에서 사용하는 직렬화 클래스
- Primitive
- Serializable <= 이 인터페이스를 상속받았다면 내부의 멤버 변수들을 모두 직렬화하여 객체를 만든다.
- Parcel
- Parcelable
- Bundle
- Intent
직렬화 클래스 예시
public class SampleData implements Serializable {
private static final long serialVersionUID = 1000000L;
private int mIntData = 0;
private String mStrData = "shin";
public int getIntData() {
return mIntData;
}
public String getStringData() {
return mStrData;
}
public void setIntData(int intData) {
mIntData = intData;
}
public void setStringData(String strData) {
mStrData = strData;
}
}
'프로그래밍 > android' 카테고리의 다른 글
클래스 변수의 용도 (0) | 2014.12.18 |
---|---|
CustomViewGroup과 CustomView 클래스를 상속받아 구현하기 (0) | 2014.12.18 |
터치 이벤트를 구현하는 3가지 방법 (0) | 2014.12.16 |