Is it possible removing onPartialUpdate() actually improves battery life?

I feel like including onPartialUpdate

OnPartialUpdate() {

    if(foo==1) {
    
    // bla bla
    
    }

}

Like

Even if foo = 0 it still seems to impact battery life a little compared to removing the function all together. Could this be the case? 

  • How are you measuring this?  Using watchface diagnostics is what you want to use.  Also, remember onPartialUpdate is only on MIP displays and not on the older MIP devices.

  • I calculate battery drain in my watch app by meassuring the battery drain over the ammount of time. It seems to be a bit higher when Onpartialupdate is enabled. This is specific for Instinct 2X 

  • Yes, that makes sense to me. onPartialUpdate() is run once per second during low-power mode. The function is called and foo is evaluated in your case. If you don't have the function at all, none of this needs to be done.

  • Isn’t that (and other) functions overriding existing functions?

    If so, it’s the same amount of energy being used.

    ”A bit more” sounds like over optimization. 

    If there’s nothing in the function, no other justification is needed not to have it. 

  • In the case of onPartialUpdate, it will no longer be called if the 30ms max avg has been exceeded, but if it's just returning without doing anything, whatever is saved would be like removing onShow/onHide if they aren't being used.  And just because it takes a few us to do the return really would have no impact on battery life (or none that is measurable in battery life)  A bigger impact would likely be if the watch was connected to the phone, things were being synced, number of notifications, etc..

    Also, on a device, using println() to record info to a log file also has an impact as you are writing to the file system each time that is called.