Strong > Soft > Weak
Strong Reference
Strong Reference는 new를 이용해 생성된 객체를 말합니다. 이 객체는 GC에서 무조건 제외되기 때문에 메모리 누수(Memory Leak)을 방지하기 위해서는 이 참조를 주의해서 보아야 합니다. 이 참조를 지워주지 않으면 GC에 의해 수거되지 않고 남아있기 때문에 메모리 누수를 유발할 수 있습니다.
Soft Reference
SoftReference는 다음과 같이 객체에 Reference를 넘겨줌으로서 생성할 수 있습니다. SoftReference object = new SoftReference(new Object()); 이 참조는 메모리가 충분하다면 GC에 의해서 수거되지 않고, 메모리에 여유가 없다면 GC에 의해 수거됩니다.
Weak Reference
WeakReference는 SoftReference와 유사하지만 GC가 발생되기 전까지는 참조를 유지하고 GC가 발생하면 무조건 회수된다는 점에서 차이가 있습니다. 이는 유용하게 쓰일 수 있는데, 짧은 시간, 자주 쓰일 수 있는 객체를 이용할 때 유용하게 사용될 수 있습니다.
출처: https://itmining.tistory.com/10 [IT 마이닝]
'컴퓨터 공학 > Android' 카테고리의 다른 글
DP, SP, PT, PX, IN, MM 안드로이드 리소스 크기 (0) | 2020.11.04 |
---|---|
Parcelable vs Serializable, 안드로이드 직렬화 (0) | 2020.11.04 |
Android 이미지 로딩 라이브러리 워크플로우 (0) | 2020.11.04 |
RecyclerView Adapter의 확장버전 ListAdapter 예시 (0) | 2020.04.29 |
BottomSheetDialogFragment를 Fullscreen으로 보이기 (0) | 2020.04.16 |