2012-10-19 2 views
4

서비스 클래스의 작업 및 메소드를 제어하는 ​​것이 더 효과적입니까? 한 가지 방법은 로컬 서비스를 액티비티에 바인딩하는 것이고, 다른 하나는 브로드 캐스트 리시버를 사용하여 브로드 캐스트를 전송하여 서비스의 메소드를 제어하는 ​​것입니다. 그들은 같은 일을하는 두 가지 다른 방법입니까? 어느 시간에 대부분을 사용합니까?로컬 서비스를 활동에 바인딩하거나 방송 수신자를 사용하는 것이 더 효과적입니까?

답변

1

바인딩 : 서비스의 여러 변수를 변경하거나 다른 경우 서비스에서 값을 가져와야하는 경우. 이렇게하면 메모리에 변수에 액세스 할 수 있습니다. 또는 서비스에서 지속적으로 가치를 얻고 싶다면 한 쪽에서 정확한 타이밍을 제어하는 ​​것이 더 쉽습니다. 수행해야 할 커뮤니케이션이 많으면 바인딩이 더 효과적입니다.

브로드 캐스트 : 많은 액티비티가 내 액티비티 또는 내 서비스에서 변경되면 포인트를 지정하고 상대적으로 분류 된 메시지를 존중받는 리시버에게 보낼 수 있습니다. (안드로이드 문서는 실시간 서버 클라이언트 예제의 예를 보여줍니다. 여기서 타이밍은 다소 벗어날 수 있지만 대기중인 메시지를 얻을 수 있습니다. 이것은 장기적인 주기적 업데이트 등과 같은 작업에 적합합니다.

+0

제 경우에는 많은 로컬 방송을 사용하고 있습니다. 지금은 제대로 작동합니다. 하지만 나는 지역 방송을 수신 한 시간부터 수신 한 시간까지 얼마나 걸릴지 궁금하다. 시간이 일정 범위인가? – RRTW

관련 문제