original source : https://youtu.be/1P9eV0ExuZ0

image

=========================================================

.

.

image

obtainMessage()는 pool에 있는 이미 만들어진 남는 Message를 가져온다.

=========================================================

.

.

image

obj를 통해 Message에 데이터를 전달할수 있지만 간단한 정수만을 사용해도 되는 경우 arg1, arg2를 이용한다. 

=========================================================

.

.’

image

=========================================================

.

.

image

handler의 sendMessage()를 통해 Message가 queue에 올라 가게 된다.

=========================================================

.

.

image

=========================================================

.

.

image
image
image
image

=========================================================

.

.

image

post()를 통해 Message가 아닌 Runnable을 queue에 올려 놓을 수 있다.

=========================================================

.

.

image

=========================================================

.

.

image

=========================================================

.

.

image

handler가 아닌 위의 방법들로 main thread에 접근가능하다.

=========================================================

.

.

image

=========================================================

.

.

image

=========================================================

.

.

image

=========================================================

.

.

image

=========================================================

.

.

image

AsyncTask<>의 첫번째 arg는 doInBackgroun에 전달되는 arg이다. 

두번째 arg는 onProgressUpdate()에 사용되는 arg이다.

세번째 arg는 onPostExecute()에 사용되는 arg이다.

image

=========================================================

.

.

image
image
image
image

original source : https://youtu.be/qt-l0MIdhTM

image

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

ThreadPoolExecutor를 이용해서 ThreadPool을 만든다.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

=========================================================

.

.

activity, service 등등 ( components )와 연결된 service를 bounds service라고 한다.

구현방법에따라 세가지로 구분할수 있다. 

1. Binder class를 이용하는 경우 

2. Messenger를 이용하는 경우

3. AIDL를 이용하는 경우

구현방법에따른 구분이이지만 사용용도 조금다르다. Binder를 이용하는 경우는 같은 application , process내의 components와 service간의 연결에 사용한다. Messenger와 AIDL은 다른 application간에도 서로 연결, 상호작업애 사용된다. 즉 interprocess communication (IPC)에 사용될수 있다.

참고사항)

Messenger를 사용하는 방법에는 Handler, message를 이용하는데 이는 HandlerThread에서도 사용된다. looper, handler, message를 이용하는데 bound service와도 조금의 연관성을 찾을수 있다. HandlerThread는 big bernard android programming 책을 참조하거나 내가 모은 tumblr자료를 검색한다. HandlerThread를 이용한 간단한 예시로 flickr에서 여러개의 image를 main thread가아닌 다른 thread에서 fetch하는 작업

handlerthread를 설명한 동영상 시리즈

-handlerthread없이 thread로 같은 기능을 구현하는 과정을 보여준다.

https://www.youtube.com/watch?v=rfLMwbOKLRk

https://youtu.be/Yo3VT-fZr68

-handlerthread를 이용한 것을 보여준다.

https://youtu.be/998tPb10DFM

개념 , 사용방법 설명 문서

https://stuff.mit.edu/afs/sipb/project/android/docs/guide/components/bound-services.html 

사용방법 동영상 ( Binder를 이용한방법 )

예시작업으로 activity에 bound된 service에 있는 현재시간을 계산하는 함수를 activity에서 호출해서 값을 가져오는 과정으로 들었다.

https://youtu.be/0c4jRCm353c

https://youtu.be/zCj5Qzzex_A

activity, service 등등 ( components )와 연결된 service를 bounds service라고 한다.

구현방법에따라 세가지로 구분할수 있다. 

1. Binder class를 이용하는 경우 

2. Messenger를 이용하는 경우

3. AIDL를 이용하는 경우

구현방법에따른 구분이이지만 사용용도 조금다르다. Binder를 이용하는 경우는 같은 application , process내의 components와 service간의 연결에 사용한다. Messenger와 AIDL은 다른 application간에도 서로 연결, 상호작업애 사용된다. 즉 interprocess communication (IPC)에 사용될수 있다.

참고사항)

Messenger를 사용하는 방법에는 Handler, message를 이용하는데 이는 HandlerThread에서도 사용된다. looper, handler, message를 이용하는데 bound service와도 조금의 연관성을 찾을수 있다. HandlerThread는 big bernard android programming 책을 참조하거나 내가 모은 tumblr자료를 검색한다. HandlerThread를 이용한 간단한 예시로 flickr에서 여러개의 image를 main thread가아닌 다른 thread에서 fetch하는 작업

handlerthread를 설명한 동영상 시리즈

-handlerthread없이 thread로 같은 기능을 구현하는 과정을 보여준다.

https://www.youtube.com/watch?v=rfLMwbOKLRk

https://youtu.be/Yo3VT-fZr68

-handlerthread를 이용한 것을 보여준다.

https://youtu.be/998tPb10DFM

개념 , 사용방법 설명 문서

https://stuff.mit.edu/afs/sipb/project/android/docs/guide/components/bound-services.html 

사용방법 동영상 ( Binder를 이용한방법 )

예시작업으로 activity에 bound된 service에 있는 현재시간을 계산하는 함수를 activity에서 호출해서 값을 가져오는 과정으로 들었다.

https://youtu.be/0c4jRCm353c

https://youtu.be/zCj5Qzzex_A

HandlerThreads and communication between Threads | android Tutorial

HandlerThreads and communication between Threads | android Tutorial

android looper , handler, handlerthread

기본개념 정리와 실제 예제

my review point is 9 / 10

https://youtu.be/Yo3VT-fZr68     thread, handler, looper를 이용한 코드예시

https://youtu.be/dSb-K024A6U

https://youtu.be/E81yFwQ0NpI

https://youtu.be/b80LbWVERL4

https://youtu.be/998tPb10DFM