iOS / Too frequent rssi event from driver..?

前端 未结 2 628
南旧
南旧 2021-02-03 18:09

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

2条回答
  •  旧巷少年郎
    2021-02-03 19:02

    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!

提交回复
热议问题