-
Android) RxJava 메모리 누수 방지 - Disposable, CompositeDisposable 비교Android 2020. 8. 4. 19:50
메모리 누수(Memory Leak)란?
- 참조가 완료되었지만 할당한메모리를 해제하지않아서 발생.
- 특히 강한 참조의 경우 가비지 컬렉터가 메모리에서 객체를 제거할 수 없으므로 라이프사이클에 맞게 참조를 끊어야 사용하지 않는 메모리를 해제할 수 있습니다.
- 메모리누수는 시스템 전체 성능에 영향을 미치므로 중요하게 관리해야 합니다.
Disposable 인터페이스를 이용하여 명시적으로 자원 해제 - 라이프사이클에 맞게 해제.
CompositeDisposable 클래스 이용 - 생성된 모든 Observable 을 안드로이드 라이프사이클에 맞춰 한번에 모두 해제할 수 있습니다.
clear(), dispose() 함수 모두 Disposable객체를 삭제한다는 점은 같습니다.
그러나 clear() 함수의 경우 계속 Disposable을 받을 수 있지만 dispose() 함수의 경우 isDisposed() 함수를 true로 설정하여 새로운 Disposalbe 객체를 받을 수 없습니다.
반응형'Android' 카테고리의 다른 글
Android) android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding (0) 2020.08.20 Android) DI - Dagger2 시작하기, Kotlin + Dagger2 예제 (0) 2020.08.13 Android) LiveData, MutableLiveData 특징과 차이점 (0) 2020.08.04 Android) AAC - ViewModel 예제 (0) 2020.08.04 Android) Kotlin에서 TextView 색상 바꾸기 (0) 2020.07.29