너따로 나따로의 작업 가능
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
https://dncjf64.tistory.com/283
참고 : Android의 Thread [ http://blog.daum.net/gunsu0j/249 ]
'Android' 카테고리의 다른 글
Intent (0) | 2016.03.25 |
---|---|
onClick과 onTouCH의 차이 (0) | 2016.03.22 |
web과 android의 비교 (0) | 2016.03.22 |
Android 기초 (0) | 2016.03.16 |