System Memory Pool utilization by WatchUi.Layer instances

Hello everyone!

recently I have started to use WatchUi.Layer instances on recent device models that allocate those layers on the System Memory Pools.

The benefit of using layers for me are:

1) Lower battery consumption
2) Shorter switching time from the watch face to widgets and activities
3) The possibility to use animations

I'm doing mostly analog watch faces and what I found works best for me is an architecture where I'm using 4 Layers + 1 Animation Layer.

I'm initializing the layers with options==null -> Full screen size and system color depth which is quite a lot of memory.

Amazingly this works in the simulator on all devices like Venu2, Fenix7/Tactix7, Epix2, FR965, etc.

On the actual device it works on the Fenix7/Tactix7 and the Epix2 but on the Venu2 and FR965 my watch faces are running out of memory.

Here are a few questions:

- Is there some documentation about the available system memory pool for each model?
- It seems I can't try{}catch the out of memory exception. Can somebody confirm that this exception can't be handled?
- Will setting the color depth of the layer for example to 8bit reduce the used system memory? I would assume it would...
- Why does the API documentation say that the color depth is a hidden feature?
- Why does the simulator not constrain the system memory properly?
- Is there some way to read the system memory utilization in the simulator/on the device?

I appreciate your feedback, Thanks!

Manuel