iOS /来自司机的rssi事件太频繁? [英] iOS / Too frequent rssi event from driver..?

查看:198
本文介绍了iOS /来自司机的rssi事件太频繁?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我的问题出现在前一天通过iPhone配置实用工具查看一些iOS 7.0.x设备的控制台输出。我很困惑,看到几个迹象表明,WiFi守护进程注册 WiFi rssi活动出于蓝色,没有明显的原因(没有后台应用程序活动/推送消息等待等等)。这些都在控制台中显示为耦合的记录,形式如下:

  Mar xx xx:xx:xx iDevice wifid [xx] <注意事项> ;: WiFi:[406330748.823677]:
Mar xx xx:xx:xx iDevice wifid [xx]<注意事项:从驱动程序
更频繁(1.822344秒)rssi事件Mar xx xx: xx:xx iDevice wifid [xx]< Notice> ;: WiFi:[406330748.895756]:
Mar xx xx:xx:xx iDevice wifid [xx]<注意事项:驱动程序的rssi事件频繁(0.835468秒) ,忽略

...等等。令我担心的是,上面的线条每秒重复一次,似乎永远不会结束。



现在我不是任何形式的程序员,但知道UNIX的一些基础知识和所有我已经设法得出结论,WiFi守护进程占用了大量的CPU时间,显示在使用终端的顶部细分,这反过来会建议这可能(或不是)这些设备中的某些设备的电池使用寿命也不尽如人意。



接下来我明明会问你们,如果有人熟悉上面提到的行为,如果是这样的话,那么这个噪音的来源是什么。

解决方案

简答案



至少有一个应用程序反复询问WiFi的信号强度,并且正在嚼起大量的电池寿命。



较长的答案



1。什么是RSSI



RSSI代表接收信号强度指示。它是对无线信号中存在的功率的度量。每当无线驱动程序尝试确定可达性时,都会进行RSSI查询。您可以在这里了解更多信息:



http: //en.wikipedia.org/wiki/Received_signal_strength_indication



2。为什么如此多的RSSI事件?



在这种情况下,WiFi RSSI驱动程序是通过查询可达性引起的 - 基本上,试图找出是否有无线连接可用。 / p>

很多情况下编写不良的应用程序每隔几毫秒查询可达性/连接。您可以在网络上查找太多的例子。我只是在这里放一个:



http://forums.coronalabs.com/topic/33356-check-for-internet-connection/



3 。对电池寿命的影响



Apple的文档对于无线电使用非常明确。您在手机中使用无线电的越多,电池寿命就越短。他们甚至说:


开发iOS设备的应用程序时,最大限度地减少无线电使用尤为重要,因为无线电使用具有对iOS设备的电池寿命有不利影响。


(来源: https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/BestPracticesForInteractingWithARemotePeripheralDevice/BestPracticesForInteractingWithARemotePeripheralDevice.html



4。你可以做什么关于它



如果这缩短了你的电池寿命,你可以采取几个步骤:


  1. 使用日志确定哪些应用程序滥用收音机并将其删除。

  2. 如果它是您写的应用程序,请仔细查找重复的呼叫网络,特别是可达性或信号强度调用。

  3. 如果应用程序不是您的应用程序,并且必须保持安装,则可以在可以节省电池时使用飞行模式(最佳选项)

希望有帮助!


So my question came up looking an the console output of some iOS 7.0.x devices via iPhone Configuration Utility the other day. I was puzzled to see several indications that the WiFi daemon registers WiFi rssi activity out of the blue for no apparent reason (no background apps active / push messages pending and so on). These all appear as coupled records in the console in the form of:

Mar xx xx:xx:xx iDevice wifid[xx] <Notice>: WiFi:[406330748.823677]: 
Mar xx xx:xx:xx iDevice wifid[xx] <Notice>: Too frequent(1.822344 secs) rssi event from driver
Mar xx xx:xx:xx iDevice wifid[xx] <Notice>: WiFi:[406330748.895756]: 
Mar xx xx:xx:xx iDevice wifid[xx] <Notice>: Too frequent(0.835468 secs) rssi event from driver, ignoring

...and so on. What got me worried is that the lines above are duplicated every second or so and appear to never end.

Now I'm no programmer in any kind of form, but knowing some of the basics of UNIX and all I've managed to conclude that the WiFi daemon takes up substantial CPU time as shown in an top breakdown using the terminal, which in turn would suggest that this may (or not) be a reason I've also been experiencing poor battery life on some of these devices as of late.

Next up I would obviously ask you all if anyone's familiar with the behavior noted above and if so what would be the source of this "noise"..

解决方案

The Short Answer

At least one app is repeatedly querying WiFi for signal strength, and it's chewing up a lot of battery life.

The Longer Answer

1. What is RSSI

RSSI stands for Received Signal Strength Indication. It is a measure of the power present in a wireless signal. RSSI queries are made each time the wireless driver tries to determine reachability. You can learn more about it here:

http://en.wikipedia.org/wiki/Received_signal_strength_indication

2. Why So Many RSSI Events?

In this case, a WiFi RSSI driver is caused by querying for reachability - basically, trying to find out if a wireless connection is available.

There are numerous cases of poorly-written apps querying for reachability/connectivity every few miliseconds. You can find examples that query too often all over the web. I'll just put up one here:

http://forums.coronalabs.com/topic/33356-check-for-internet-connection/

3. Impact on Battery Life

Apple's documentation is very explicit about radio usage. The more you use the wireless radio in the phone, the shorter the batter life. They go so far as to say:

Minimizing radio usage is especially important when developing an app for an iOS device, because radio usage has an adverse effect on an iOS device’s battery life.

(Source: https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/BestPracticesForInteractingWithARemotePeripheralDevice/BestPracticesForInteractingWithARemotePeripheralDevice.html)

4. What You Can Do About It

There are several steps you can take if this is shortening your battery life:

  1. Use the logs to determine which apps are abusing the radio and remove them.
  2. If it is an app you have written, carefully look for any repeated calls to the web, especially reachability or signal strength calls.
  3. If the app is not your app and you must keep it installed, use airplane mode when you can to conserve battery (the LEAST desirable option).

Hope that helps!

这篇关于iOS /来自司机的rssi事件太频繁?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆