• Thread
  • Thread는 동기적? 비동기적?

각자의 일을 동시에, 하나의 일이 끝나기 전에 수행하면 비동기 -> Multi-Thread의 경우 

  • Thread의 문제점

Multi-Thread의 경우 동시에 하나의 task에 접근할 수 X -> 공리자원의 문제

  • 해결방법

순서를 부여, 동기화, 제약 설정

 

  • 스레드 간단실습

a.join() -> a가 다 수행된 후 b 실행하도록 설정
두 개의 스레드가 동시에 수행되는 것을 볼 수 있음(실제로는 동시가 아니라 쪼개져서 번걸아가며 수행되는 것임)

 

  • Handler

스레드 간의 통신을 도와주는 클래스

*Main Thread만 View Rendering을 할 수 있음. Worker Thread에서 View Rendering을 하기 위해서는 두가지 방법이 있는데, 그 중 한가지가 Handler를 이용하는 방식임.

  • Looper

Looper : 간단히 메시지 처리를 위해서 메시지 루프를 실행하여 다른 스레드에서 전달한 메시지를 꺼내서 전달하는 역할을 함

메인 스레드의 Looper를 가져와서 Handler에 전달 -> Handler에 대해 Worker Thread에서 메시지를 전달

 

+방법2) RunOnUiThread() 함수를 이용하면 내부 코드가 메인 스레드에서 실행됨

 

  • Thread 종료

Interrupt 이용 : 오류를 내서 스레드를 강제적으로 멈추는 방법 -> try-catch문 사용

 

  • Splash Theme

- SplashActivity : 앱을 열 때 기본적으로 나타나는 화면으로, 로고 등을 보여줌 (앱이 로드되는 동안 띄워줌)

Handler를 이용해서 고정된 시간동안 splash 화면을 보여주는 방식 / 시작테마에 안드로이드에서 지원하는 스타일을 지정하는 방식

-> splash.xml 파일(스플래쉬 화면)을 만든 후 themes.xml 파일의 style에 새로 만든 splash 테마를 넣어준다

 

  • 코루틴

 

 

 

 

[강의 출처 : 컴공선배]

'프론트엔드 > Android' 카테고리의 다른 글

안드로이드 6주차  (0) 2022.05.03
안드로이드 5주차  (0) 2022.05.03
안드로이드 3주차  (0) 2022.04.06
안드로이드 2주차  (0) 2022.03.22
안드로이드 1주차  (0) 2022.03.15
해안해