Add support for graceful shutdown of Renderer
adamjs opened this issue · 1 comments
adamjs commented
Currently Ultralight can only be instantiated once per process lifetime without full cleanup due to the inherent design of WebKit (thousands of singletons and many long-lived threads in WebCore and JavaScriptCore).
We'd like to support the ability for the library to be created and destroyed multiple times in a single process (with full reclamation of heap memory) without hosting it in a separate child process (not possible on all platforms).
To accomplish this goal we are doing several things:
- Adding a new Allocator API (control and track all heap memory)
- Adding a new Thread Management API (track all threads)
- Modifying WebCore and JavaScriptCore to exit threads and release resources upon library shutdown
(This is already complete, adding issue for 1.4 milestone)
adamjs commented
This feature is complete in 1.4 (with caveat, Allocator API only available in Pro version).