蓝牙音频网关问题;使用蓝牙串行后系统爬行缓慢
我正在开发一个使用蓝牙连接到专有设备的应用程序。一切似乎都工作正常,除了一段时间后,我的三星平板电脑速度减慢到绝对爬行状态,并且在下一次强制重新启动之前基本上无法使用。
我在 alogcat 中看到此消息:
E/bluetoothaudiogateway.cpp 2582 pollup检测到 音频网关连接通知 wrp_find_wsock:未找到条目 blz_wrapper (2582) btl_if_poll: wsock down, return pollhup pol fd 48, ev 1b
对发生的事情有什么想法吗?看来这个“蓝牙音频网关”有一个bug,但是我该怎么办呢?我没有使用蓝牙作为媒体,我怎样才能摆脱这个问题等等?
谢谢!
I'm developing an application that uses a bluetooth connection to a proprietary device. Everything seems to work fine, except after a while my Samsung tablet slows to an absolute crawl and is basically unusable until the next forced reboot.
I'm seeing this message in alogcat:
E/bluetoothaudiogateway.cpp 2582 pollup detected
audio gateway connect notification
wrp_find_wsock: no entry found
blz_wrapper (2582) btl_if_poll: wsock down, return pollhup pol fd 48, ev 1b
Any ideas on what is going on? It seems this "bluetooth audio gateway" has a bug, but what can I do about it? I'm not using bluetooth for media, how can I get rid of this, etc.?
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我使用出厂安装了 FROYO 2.2 的 Samsung Galaxy Ace,也遇到了类似的 BluetoothAudioGateway.cpp 错误和 Pollhup 检测到消息的问题。
由于我有两台完全相同的设备,当本月初(2011 年 9 月)更新发布时,我在一台设备上使用 samsung kies 将 2.2 升级到了 2.3.3,而使用 2.3.3 则没有出现此问题。事实上,当我在 2.2 版本上进行开发时,我必须每天重新启动设备 10 到 20 次,具体取决于我进行的测试量,而另一台配备 2.3.3 的 Galaxy Ace 则可以整天运行而无需重新启动。不管我在上面运行我的应用程序多少次。
如果升级到 2.3.3 不适合您,我发现以下一些方法可以帮助您避免重新启动 2.2 设备:
最重要的是,在侦听连接时不要扫描设备。如果您正在使用listenUsingRfcommWithServiceRecord,请在扫描设备之前通过调用BluetoothSocket.close()来停止它,反之亦然。
其次,不要对已经关闭的BluetoothSocket 调用close。这会让你立刻冻结我的经历。
第三,当通过“运行”从 Eclipse 运行新版本时,点击设备上的主页按钮,关闭蓝牙,然后运行您的应用程序。如果应用程序在从 Eclipse 运行时处于活动状态,那么当调试器杀死它时它将重新启动,并且如果应用程序调用蓝牙函数,它会对其执行某些操作...我不知道是什么,但这些巫毒步骤帮助我节省了时间很容易将大量时间浪费在重新启动冻结的设备上。
在我看来,这些问题与运行 Android 2.2 的三星设备有关,但我只能报告我对 Galaxy Ace 的发现。
I have similar problems with the BluetoothAudioGateway.cpp error and Pollhup detected messages using my Samsung Galaxy Ace with factory installed FROYO 2.2.
Since I have two exact same devices, I upgraded 2.2 to 2.3.3 on one device using samsung kies when the update came out at the beginning of this month (September 2011), and have not had this problem using 2.3.3. In fact, when I develop on the 2.2 version I have to restart my device 10 to 20 times a day depending on how much testing I do, while the other Galaxy Ace with 2.3.3 runs all day without having to restart it at all no matter how much I run my application on it.
If upgrading to 2.3.3 is not an option for you, here are some things I have found to help prevent having to restart my 2.2 device:
Most importantly, don't scan for devices while listening for connections. If you're using listenUsingRfcommWithServiceRecord, stop it by calling BluetoothSocket.close() before scanning for devices and vice versa.
Secondly, don't call close on a BluetoothSocket you have already closed. That gets you an instant freeze in my experience.
Thirdly, When running a new build from eclipse via "run", hit the home button on the device, turn off bluetooth and then run your application. If the application is active while running it from eclipse, it will restart when the debugger kills it and if the application calls bluetooth functions it does something to it... I don't know what, but these voodoo steps have helped save me hours of time all together easily wasted on restarting a frozen device.
It seems to me that these issues are related to Samsung devices running Android 2.2 but I can only report my findings for the Galaxy Ace.