Android/BroadcastReceiver
BroadcastReceiver (3) - 동적, 명시적, explicit
parkho79
2020. 5. 27. 09:27
728x90
동적, 명시적, Explicit BroadcastReceiver
Receiver 를 원하는 시점에 등록(registerReceiver) 과 해제(unregisterReceiver) 하여 자유롭게 사용한다.
- 메니페스트에 등록하지않고 소스상에 등록을 한다.
- 자신이 등록한 component 의 생명 주기가 끝나면 사라진다.
(Context 가 요효할 동안 동작한다.)
|
|
[송신앱에서 broadcast] |
[수신앱에서 broadcast] |
보내는 쪽 package (송신앱)
받는 쪽 package (수신앱)
Reference
◼ unregisterReceiver
동적으로 등록한 receiver 의 경우 컴포넌트가 종료되면 동작하지 않는다.
따라서, unregisterReceiver 통해서 리시버를 해제하지 않으면 메모리 누수가 발행하므로 주의하자!
◼ 동적으로 등록한 receiver 는 동시에 실행된다.
(정적 receiver 는 ActivityManagerService 에 등록된 순으로 순차적으로 실행된다.)
◼ Receiver 는 메인 스레드에서 동작하므로 간단한 작업만 해야한다.
Source code
◼ 송신부
https://github.com/parkho79/ExplicitBroadcastReceiever_send
◼ 수신부
https://github.com/parkho79/ExplicitBroadcastReceiever_receive
728x90