마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

브로드캐스팅 질문입니다.

0 추천

안드로이드 브로드캐스트 서비스 질문입니다. MQTT통신을 사용하고 있는 중인데요 MQTT자체가 서비스로 동작하는걸로 알고 있어서 각 동작 부분을 브로드캐스트로 구현하려고 하고 있습니다. connect을 구현중인데 버튼을 눌렀을때 브로드캐스트를 통해 mqtt서비스를 동작하게 하고 mqtt서비스 초기화 후 메인액티비티로 브로드 캐스트를 보낸다음 메인에서 어떠한 동작 후 다시 mqtt서비스로 브로드캐스트를 보내면 처음 mqtt에서 초기화 한 값들이 다시 null값이 되어있는 현상이 있습니다. 여기서 궁금한점은 브로드캐스트로 보내면 보낸 클래스가 메모리에서 없어지는건지. 없어지는게 맞다면 없어지지 않게 브로드캐스트를 보내는 방법이 있는지 궁금합니다

배쟁 (760 포인트) 님이 2017년 5월 2일 질문

1개의 답변

0 추천
 
채택된 답변
http://namsieon.com/288

 

누가 이해하기 쉽게 설명 잘해 주셨네요. 위 링크 참조하세요.

위 링크대로라면 mqtt 인스턴스를 BroadcastReceiver의 멤버로 해놓으셨다면 아마 onReceive 함수가 종료되는 시점에 이 mqtt 인스턴스도 메모리에서 삭제될 확률이 큽니다.

mqtt 인스턴스를 백그라운드에서도 유지시키고 싶으시다면 BroadcastReceiver가 아닌 Service에 구현하는것이 옳은 방식이라 생각 됩니다.
Development Guy (70,570 포인트) 님이 2017년 5월 2일 답변
배쟁님이 2017년 5월 26일 채택됨
...