我制作了一个简单的智能手表应用程序,它连接到手机以发送一些数据。然而,它不断地绑定和解除绑定导致很多滞后。 Logcat显示
01-10 22:26:17.780 13094-17893/com.verbraeken.joost V/WearableLS: bindService: com.verbraeken.joost/.WearListenerService
01-10 22:26:17.783 13094-17893/com.verbraeken.joost V/WearableLS: unbindService: com.verbraeken.joost/.WearListenerService
在清单中,服务被声明为:
<service android:name="WearListenerService">
<intent-filter>
<action android:name="com.google.android.gms.wearable.DATA_CHANGED"/>
<action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED"/>
<action android:name="com.google.android.gms.wearable.CAPABILITY_CHANGED"/>
<action android:name="com.google.android.gms.wearable.CHANNEL_EVENT"/>
<data android:path="/WEAR_ORIENTATION" android:host="*" android:scheme="wear"/>
</intent-filter>
</service>
服务本身确实扩展了WearableListenerService,并且只有onMessageReceived方法。
服务每秒绑定/解除约50次的原因是什么?
答案 0 :(得分:1)
这是服务的默认行为(绑定和取消绑定),基于文档 - Sending and Syncing Data:
WearableListenerService(用于服务)
扩展WearableListenerService可让您侦听服务中的重要数据层事件。当需要发送数据项或消息并在不需要工作时解除绑定服务时,系统管理WearableListenerService,绑定到服务的生命周期。
请检查您的实施,以验证您遇到的错误(每秒绑定/取消绑定x次)。
希望这有帮助。