Themes Drastically slowing down Screen/Component Generation

The promised more linear garbage collection for the theme-handler is now added in the new SquareLine Studio 1.5 release. (The previous solutions are still available if you define LV_SQUARELINE_THEME__IMPLICIT_GARBAGE_COLLECTOR, but without this by default the new ‘explicit’ method is used, as seen in the ui_theme_manager.h file’s beginning.)

I tested it on a humble Raspberry Pi Pico + ILI9341 hardware with a fairly complex project having 2 themes, both with and without temporary screens. The former was OK mostly anyway, but speedup was significant for the latter, from about 3…4s the boot-up time went down to about 1.5s with the default ‘explicit’ garbage-collector setting (checking at every 10 theme style-property creations/settings), which was roundabout the bootup-time on this hardware without even using any themes.
The new LV_SQUARELINE_THEME__EXPLICIT_GARBAGE_COLLECTOR_PERIOD define’s value can be redefined from outside to affect its behavior but 10 seems to be a sweet spot. While this new explicit garbage-collector still takes LV_SQUARELINE_THEME__OBJECT_VALIDITY_CACHE into account I advise to remove this external define if it exists in your project as it would decrease the rate of finding garbage significantly.
With this new method hopefully this problem is solved for now and ever.