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