Persistence of the Dc content between calls to onUpdate()

In the context of a watch face app, when its view gets an onUpdate() call, can it assume that previously drawn Dc content is still there?

Or is it possible that the OS could wipe the Dc clean now and then?

This is not documented. In the simulator the assumption seems to hold. On the actual watch *it seems* it does not.

Top Replies

All Replies

  • As you've never even done a watch face, you should start with doing one so you'll understand the basics.

  • As you've never even done a watch face, you should start with doing one so you'll understand the basics.

    You don't have to convince me, convince the people like OP who are asking for this. You're the one posting in this thread saying it's an invalid feature request.

    I'm just curious about whether it's at all possible in theory to meaningfully save battery life if onUpdate() allowed partial updates (for watchfaces and for any other type of app.)

    I think one strong argument against needing this feature request (for watchfaces) is that onUpdate() is only called frequently during high power mode (for a few seconds after the user turns their wrist). The rest of the time it would be called once per minute. So you'd really only be optimizing for a fairly rare case (how often does a user turn their wrist to look at their watch outside of an activity?)

    But I was just curious. I actually don't care all that much tbh.

  • +1 on wishing it was possible to do partial updates in onUpdate(), for efficiency/battery reasons. If I add a check in onUpdate() to only draw if the current minute is different than the last time onUpdate() was called, I get a black screen when I look at my watch and it enters high power mode. I don't need to do anything in high power mode, but there's no way to disable it, and I'd like to only update the screen once per minute to get whatever efficiency gain I can from that