티스토리 뷰

Android

Thread

구글링쟁이 k9e4h 2016.03.22 11:20

너따로 나따로의 작업 가능

 

activity도 하나의 쓰레드 -> activity를 상속받은 쓰레드 : UI 쓰레드

 

demon : foreground가 아닌 background에서 동작하는 것


카카오톡 메세지받기 버튼 안눌러도 자동으로 상대방의 카톡이 계속 옴 -> 쓰레드가 돌고있기때문(demon thread)


android의 background thread는 UI 건드릴수없음 논리적인 logic만 가능 -> 동기화문제생기니까



동기화 syncronized : [ overhead / deadlock ]이라는 문제 발생

하므로 [ looper / message / message queue / Message Pool ] 이용한다





 

스레드의 사용위치 선정의 중요성: (위치 선정에서 많이 어려워들함)

안드로이드는 사용자에 의해 호출되는 액티비티를 실행시키는 데 필요한 메모리가 부족하다면, 현재 액티비티들 가운데 비활성화 상태인 택티비티들은 생명주기에 의거하여 종료시키게 된다.

종료되는 액티비티와 함께 실행하는 컴포넌트들은 결과적으로 공동 운명체로 같이 종료하게 된다는점을 잘 알고 있도록하자!

 





- 자바에서 제공하는 스레드를 지원

- 안드로이드 애플리케이션은 기본적으로 하나의 스레드를 가진 프로세스에 의하여 실행

- 애플리케이션을 실행하면 안드로이드는 자동적으로 메인 스레드, UI 스레드를 생성

- 메인 스레드는 사용자와 상호작용하기 위한 이벤트를 책임지기 때문에 매우 중요

   → 사용자와 상호작용 외의 오랜 시간을 필요로 하는 작업을 처리하려면

       별도의 스레드를 사용하는 것이 바람직

 

 

 

*Handler

 

*Message

 

*Runnable

 

 

 

참고 : Android의 Thread [ http://blog.daum.net/gunsu0j/249 ]

'Android' 카테고리의 다른 글

Intent  (0) 2016.03.25
onClick과 onTouCH의 차이  (0) 2016.03.22
Thread  (0) 2016.03.22
web과 android의 비교  (0) 2016.03.22
Android 기초  (0) 2016.03.16
댓글
댓글쓰기 폼