2011-11-14 2 views
0

브로드 캐스트 리시버를 사용한 후이를 지우는 방법을 고민해 왔습니다. 내 응용 프로그램은 현재 안드로이드 Manifest 내에 등록 된 브로드 캐스트 리시버를 가지고 있으며, 인 텐트를 사용하여 PendingIntent에 호출 한 다음 AlarmManager를 사용하여 지정한 시간에 브로드 캐스트 수신기를 트리거합니다.브로드 캐스트 리시버를 사용한 후에 리소스를 해제하는 방법은 무엇입니까?

그러나 시간이 지나고 방송 수신기가 처리되면 사용하지 않은 메모리에 남아 있다고 생각합니다.

브로드 캐스트 리시버의 등록 취소에 대한 기사를 읽었지만 브로드 캐스트 리시버에 영향을 미치지 않고 닫을 수있는 기능이 필요합니다. 따라서 등록을 취소하면 활동의 onPause() 부분은 확실히 시작하기 전에 브로드 캐스트 리시버를 종료 할 것입니까?

도움을 주시면 감사하겠습니다.

+0

브로드 캐스트 리시버를 '어슬렁 거리며'리소스를 낭비하는 것에 대한 우려가 있습니까? – Kerry

답변

1

시스템에서 처리하도록하십시오. 필요에 따라 쓰레기 수거되며 종종 신속하게 처리됩니다. 또한 BroadcastReceiver javadoc은 공격적으로 사망 할 것이라고 말합니다.

+0

나는이 현재의 방법을 사용하여 상당히 기본적인 응용 프로그램을 실행 해 왔으며 작업 관리자를 통해 메모리를 지우도록 선택하기 전까지는 전화가 느리게 작동한다고 생각합니다. 이 앱이 원인일까요? – TimCS

+0

그럴 수도 있지만 더 느린 원인이 있습니다. 사용 가능한 메모리와 CPU 사용량도 확인 했습니까? –

+0

아직까지는,이 앱이 일반용으로 출시 될 경우 사용자 전화기에 문제가 발생할 수 있다고 우려하고 있습니다. 나에게 전화는이 시점에서 더 느리게 실행되는 것처럼 보였지만 아마도 업데이트를 확인하기 위해 Samsung 계정에 가입하는 것은 우연 일 수 있습니까? . 휴대 전화는 삼성 갤럭시 S2이므로 상당한 양의 메모리와 듀얼 CPU를 갖추고 있습니다. – TimCS

관련 문제