App crashes on Fenix 8

I just received a User Feedback report that my app Sail2WIN crashes on startup on a Fenix 8 51mm Solar.

Sail2WIN runs without issues on all Fenix 8 models using the simulator.

I build using SDK 6.4.0 since I don't need the new features offered in the newer SDK releases, 6.4.0 works, and I'd like to avoid introducing new problem to be debugged.

I ran the ERA viewer and see no report of the crash.

Is there a known problem with using SDK 6.4.0 to build for the Fenix 8 models ?

Does anyone have other thoughts about why my app would crash on startup on the Fenix 8 when it runs fine on the Simulator ?

Thanks in advance for any help.

  • Thanks for your thoughts flocsy, I indeed do not start onUpdate(dc) with a dc.clear, I run that only every 10 seconds. Elements that are drawn last then for 10 seconds, but obviously not on the fenix 8 device.

    I think that's the way to go: get rid of that 10 seconds thing and draw everything every time in onUpdate(dc), and start onUpdate(dc) with a dc.clear.

  • You have to draw entire screen when onUpdate is called because there is no enough tool to find area needed to draw. You don't know the cause of onUpdate call, it can be toast, notification your request etc.

  • Summarizing:

    As presumed already, with all devices except the fenix 8, and with all simulators inclusing that of the fenix 8, things drawn in a call of onUpdate(dc) are still visible at the next call of onUpdate(dc). 

    My program has a timer which calls onUpdate(dc) every second, but not everything is drawn every second. This thus does not function with the device fenix 8. 

    I now changed my program such that every time onUpdate(dc) is called, firstly dc.clear is called, and than everything is drawn. Now it runs also on the fenix 8 device, so I guess my "black screen" problem is solved.

  • The ONLY time you can get by with only updating part of the screen on all devices, are on MIP devices that support onPartialUpdate, as the name implies.

  • Rather avoid to saving dc in member and calling onUpdate directly. It doesn't run always well.

    Use requestUpdate() instead.