42

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

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

...等等。让我担心的是,上面的行每隔一秒左右就会重复一次,而且似乎永远不会结束。

现在我不是任何形式的程序员,但知道一些 UNIX 基础知识和所有我设法得出的结论,WiFi 守护进程占用大量 CPU 时间,如使用终端的顶部细分所示,这反过来建议这可能(或不是)是我最近在其中一些设备上也遇到电池寿命不佳的原因。

接下来,我显然会问大家是否有人熟悉上述行为,如果熟悉,这种“噪音”的来源是什么。

4

2 回答 2

2

简短的回答

至少有一款应用会反复查询 WiFi 的信号强度,这会消耗大量电池寿命。

更长的答案

1.什么是RSSI

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

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

2. 为什么这么多 RSSI 事件?

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

有许多写得不好的应用程序每隔几毫秒就查询可达性/连接性的案例。您可以在整个网络上找到经常查询的示例。我这里只放一个:

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. 如果该应用程序不是您的应用程序并且您必须保持安装,请尽可能使用飞行模式以节省电池电量(最不理想的选项)。

希望有帮助!

于 2014-11-10T15:56:04.293 回答
0

我有效地从http://www.jailbreakqa.com/questions/256971/too-frequent-rssi-event-from-driver复制了我从 jailbreakqa.com 的回复

“这次受到与上述 rssi 问题一起发布的其他问题的困扰,我半恢复到 iOS7.1.2,并将手机设置为新手机,使用与上述 iphoneguy 建议的相同的 AppleID(保留我的短信和照片数据库的备份) . 当然,在全新安装中已经三天了,以前的 rssi 问题现在似乎已经一去不复返了,我正在享受一个相当干净的活动控制台,除了通常的噪音之外,没有太多东西填充它......唯一的缺点是我不得不浪费一整天的时间通过已安装的调整和设置使系统恢复速度,因为我现在处于一个完整的“全新”安装中,没有对旧备份的引用......

...而且无论发生什么,我似乎都无法使 iCloud 标签工作(删除并重新安装 iCloud,禁用 iCloud 中的 Safari 并重新启动它无济于事。)。总而言之,这似乎也使我的设备变得“更敏捷”了(可能是因为我的旧备份可以追溯到 iOS2 :D )......对当前状态非常满意,但是有点麻烦,不能真的建议任何人走这条路..:/“

我知道这本身不能作为答案,但可以作为其他人将来遇到相同问题的证据。

于 2014-11-10T18:47:43.297 回答