describeContents ()가 언제 어디서 사용됩니까?
이 Parcelable 메서드가 언제 어디서 호출 되는지 아는 사람이 있습니까?
@Override
public int describeContents() {
return 0;
}
재정의해야합니다. 하지만 유용한 작업을 고려해야합니까?
비트 마스크 반환 값을 생성 하는 데 사용되는 Parcelable
called에 정의 된 상수 CONTENTS_FILE_DESCRIPTOR
가 있습니다 describeContents()
.
API 참조CONTENTS_FILE_DESCRIPTOR
에 대한 설명 은 다음과 같습니다.
describeContents ()와 함께 사용하기위한 비트 마스크 : 각 비트는 마샬링 될 때 잠재적으로 특별한 의미가있는 것으로 간주되는 일종의 객체를 나타냅니다.
즉, FileDescriptor
Parcelable 에 객체를 넣어야하는 경우 CONTENTS_FILE_DESCRIPTOR
describeContents ()의 반환 값으로 지정해야합니다 . 즉, " 특수 객체 "( describeContents()
의 설명에서)는 실제로 다음을 의미 FileDescriptor
합니다..
이 전체 Parcelable 기능은 미완성 된 것처럼 보입니다 (읽기 : 잘못된 디자인). 문서에 또 다른 이상한 점이 있습니다.
Parcelable 인터페이스를 구현하는 클래스에는 Parcelable.Creator 인터페이스를 구현하는 객체 인 CREATOR라는 정적 필드도 있어야합니다.
사람이 읽을 수있는 형식으로 정의 된 규칙에 따라 다중 상속을 구현합니까? :-)
C ++ 프로그래머가 설계 한 것 같고 Parceable
어느 시점에서 그는 깨달았습니다. 오, 젠장, Java에는 다중 상속이 없습니다 ... :-)
가능한 값은 0 또는 CONTENTS_FILE_DESCRIPTOR 두 개뿐입니다.
POLO를 직렬화하는 경우이 값은 항상 0이어야하며 CONTENTS_FILE_DESCRIPTOR는 * unix 시스템에서 파일 설명자 (FD)를 직렬화 할 수있는 ParcelFileDescriptor 용으로 예약되어 있습니다.
참고 URL : https://stackoverflow.com/questions/4076946/parcelable-where-when-is-describecontents-used
'developer tip' 카테고리의 다른 글
namedtuple에 힌트 입력 (0) | 2020.09.05 |
---|---|
Xcode 8 및 iOS10부터 viewDidLayoutSubviews에서보기 크기가 적절하지 않습니다. (0) | 2020.09.05 |
유닉스에서 타임 스탬프에 따라 파일을 정렬하는 방법은 무엇입니까? (0) | 2020.09.05 |
PHP에서 객체가 비어 있는지 확인하는 방법은 무엇입니까? (0) | 2020.09.05 |
IIS7 캐시 제어 (0) | 2020.09.04 |