Skip to Content
안드로이드 멀티스레딩: 비동기 메커니즘으로 날렵하고 안정적인 앱 만들기
book

안드로이드 멀티스레딩: 비동기 메커니즘으로 날렵하고 안정적인 앱 만들기

by 한대희, 안데르스 예란손
April 2016
Beginner to intermediate
308 pages
7h 21m
Korean
Hanbit Media, Inc.
Content preview from 안드로이드 멀티스레딩: 비동기 메커니즘으로 날렵하고 안정적인 앱 만들기
123
6
-
메모리 관리
그림
6-1
가비지 컬렉션의 마크 단계 동안 탐색되는 객체들
A1 B1 C1
A2 B2
B3 B4
C2
GC 루트 A GC 루트 B
이 예는 다음과 같은 의존성 체인을 이루게 된다.
1
.
GC
루트
A
A1
A2
2
.
GC
루트
B
B1
B2
B3
B4
3
.
GC
루트
B
B1
B2
B4
GC
루트와 연결된 모든
A
,
B
객체는 다른 객체에 의해 참조되고
GC
루트에 연결되어 있기 때
문에 미사용 객체가 되지 않는다.
C
객체들은 각자 다른
C
객체를 참조하지만, 어느 것도
GC
트에 연결되어 있지 않으므로 제거될 수 있는 객체의 무리로 간주된다. 마지막 참조가 제거되거
나 [그림
6
-
1
]의
C
객체의 경우처럼 존재하는 참조가
GC
루트로 연결되지 않을 때 객체는 도달
할 수 없는 상태가 된다.
힙 외부에서 접근할 수 있는 모든 객체는
GC
루트로 간주된다. 이 객체는 정적 객체, 스택의 지
역 객체, 스레드를 포함한다. 그러므로 스레드에서 직접 또는 간접적으로 참조된 객체는 스레드
의 실행 중에 도달 가능하다.
6.2
스레드 관련 메모리 누수
응용프로그램 스레드는 실행 중에 가비지 컬렉터가 메모리를 회수하는 것을 방해할 수 있으므로
메모리 누수를 일으킬 잠재적 위험을 가지고 있다. 스레드가 자신의 객체가 힙
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

코드로 인프라 관리하기: 효율적인 인프라 관리를 위한 자동화 방법

코드로 인프라 관리하기: 효율적인 인프라 관리를 위한 자동화 방법

강재준

Publisher Resources

ISBN: 9788968481703