Docs

The library

Memory and supported watches

The library adds 5.5 KB to an app and 2.3 KB to a watch face or data field on a fēnix 7 Pro. Older watches such as the fēnix 6 Pro and Forerunner 55 take a little more. The extras' folders add more, only to apps that use them.

Measured sizes

Measured on release builds (-O 2z, optimised for size): code plus data, minus a bare host app with nothing else in it. The two extras' rows are code only.

Partfēnix 7 Profēnix 6 Pro, Forerunner 55
Apps (app and glance), the animated unlock included5.5 KB7.2 KB
Of that, the animated unlock0.75 KB1.0 KB
Watch faces and data fields (face), the sign-in notification included2.3 KB2.7 KB
The glance part alone0.4 KBNot measured
Reviews and replies, and "Bought it?" (extras), only if you add it1.9 KB2.5 KB
Export to phone (export), only if you add it2.7 KB3.7 KB
Data feeds (feeds), only if you add it1.1 KB1.3 KB

The server does most of the work, so the watch code stays small. It sends the words, the layout, the timing and the QR code's rows ready to draw.

Check your own build

Tests passing proves nothing about fit. Memory is the real limit on older watches, so check your app with the library in it:

  • Build in release mode and run it on the watch with the least memory you support.
  • Run the release build on a watch with a strict watchdog. Older watches allow 120,000 instructions per callback. The library stays inside that: the buy screen's QR rows come from the server, and the watch only draws runs of dark cells.
  • Count your timers. The buy screen runs one timer, and the extras folder one more. Watches allow only a few.
  • Look at every screen on round, square and Instinct screens, in the simulator or on watches.

Supported watches

  • App types: watch apps, watch faces and data fields.
  • One build for every watch. The library checks at run time for what a watch has: smooth drawing, tones, the Instinct's subscreen, and the faces' sign-in notification. There are no annotations or per-watch builds to manage.
  • Screen shapes: round, square, rectangular, and Instinct screens with a subscreen. Some Instincts, such as the Instinct 3 AMOLED, have no subscreen call; the library asks before it calls.
  • Colors: 64-color screens and the Forerunner 55's 8 colors. See The watch screens.
  • Connections: watches with Wi-Fi can ask over Wi-Fi while the phone is away; the rest ask through the phone.

Older watches

  • The same code takes more room on older watches: compare the two columns above.
  • 128 KB watches, such as the vívoactive 3 and fēnix 5S, have the least room for a full app. Leave space for the library, and check memory with a release build.
  • Background code has the least memory of all. The faces' background part is kept to one request and its answer.
  • Faces on watches that can't send the sign-in notification still sell by the QR code and the settings link.

Before each library release

We build each release for all 115 watch models, check memory on the vívoactive 3, fēnix 5S, Instinct 3 and fēnix 7 Pro, and run the release build on the strictest-watchdog watch.

Esc