Software_Platform/Android
Android weak pointer, strong pointer (wp, sp) & RefBase
반응형
WeakPointer와 StrongPointer는 SmartPointer라고 함
SmartPointer의 사용 목적은 객체의 소멸을 자동으로 처리하기 위함특히 Android의 sp, wp는 한개의 실체 객체에 대한 여러 reference가 존재할 시 객체의 소멸 시점을 정확히 알아서 결정할 수 있도록 처리하기 위함
StrongPointer 및 WeakPointer가 동작하는데 필요한 기본 '공통 로직'을 갖는 class
sp, wp를 사용하려면 모든 객체는 반드시 RefBase를 상속받아야 함
2. WeakPointer
weak는 weak만 ++/-- 하며 객체의 life cycle을 관리
3. StrongPointer
strong은 strong것 ++/--, weak 것 ++/--를 수행
이때, weak가 0가 되어도 실제 객체는 소거 되지 않음
반대로 strong이 0이 되면 weak가 여러개 있어도 객체는 소거됨
4. weak는 Refbase 객체 member 접근이 불가능
StrnogPointer는 operator->를 overriding 하여 RefBase 객체 ptr 제공
WeakPointer는 operator->가 재정의 되어 있지 않음
5. weak가 member 변수에 access하려면 ?
WeakPointer의 promote <-- 여기서 StrongPointer를 생성(& inc)하여 return
반응형
'Software_Platform > Android' 카테고리의 다른 글
안드로이드 스튜디오 설치 (Android Studio) (0) | 2021.12.23 |
---|---|
Nexus5 Lollipop 5.1 rooting (루팅) (0) | 2018.03.18 |
Android bash shell script 실행하기 (0) | 2018.03.18 |
[리뷰] 제목: “안드로이드의 모든 것 NDK: C/C++을 이용한 안드로이드 앱 개발 방법” (0) | 2018.03.18 |
start app at adb with intent (0) | 2015.10.02 |
댓글