original source : https://youtu.be/RDI3ARcRYwI

이강의는 singleton , listener, factory 등등의 design pattern을 이용하는 것을 보여주고 있다. 이 방법을 통해 network manager를 만드는 것이 이 강의의 내용이다.

아래는 내가 유튜브에 남김 메모이다.

3:55  Handler.obtainMessage()는 message pool에서 재사용 가능한 message를 가져온다. 이는 Message.obtain()과 같은 기능을 한다.  참조) https://developer.android.com/reference/android/os/Handler.html#obtainMessage()
Handler.sendMessage() 를 통해 message queue에 넣으면 looper가 순차적으로 runnable, message를 처리하다가 해당 message를 만나게되면  Handler.handleMessage()를 호출하게 된다. 

 

5:35 여기서 network 작업을 다른 thread에서 하고 있는 것을 가정한다. network작업 결과가 성공적이면 public void sendSuccess()를 호출하고 실패하면 public void sendFail()를 호출한다. 각각의 함수는 mHandler.obtainMessage()를 통해 각각에 필요한 재사용가능한 message를 main thread에 있는 message pool에서 가져오고 mHandler.sendMessage()를 통해 message queue에 올려 놓는다. 그리고 looper에 의해 순서가 되면 mHandler.handleMessage()가 호출된다. 

 

9:30 에서 나오는 NetworkRequest class는 실제 android에서 제공하는 class가 아니고 이 강의에서 설명을 위해서 만들어진 class이다.

Comments are closed.

Post Navigation