0.5.1 - New memory management system based on Lifecyle + Ensure everything is destroyed when the SceneView is detached
Features
- RIP
CleanupRegistry
welcomeLifecycleObservers
: Filament 3D Entities (Model
s,Material
s,Texture
s,Light
s,...),Engine
and Loaders/Managers creation and destroy are now completely made around Android Lifecycle observers. They were previously managed by the Garbage collector.
We now insure that every single consuming resource is destroyed when theActivity
/Fragment
/SceneView
is destroyed and when it is not needed anymore internally.
The only counterpart is that you have to give a lifecycle parameter when building a Filament entity that can be any of theActivity
/Fragment
/SceneView
one.
e.g. You now have to give a
Lifecycle
parameter instead of theCoroutineScope
when loading a model
-
RIP
IEngine
,FilamentEngineWrapper
,EngineInstance
,... welcomeFilament
single retainable object that contains the engine instance and every linked Filament Loaders/Managers. The FilamentEngine
can now be shared between differentSceneView
s. The last releasing retainer will destroy the Engine and the Loaders/Managers. -
Allowed gesture detectors to be changed at runtime:
GestureDetector
s are vars and can be changed at any time
Fixes
- Fixed wrong
SceneView
MainLight
andEnvironment
initialisation because ofNullPointerException
when gettingArSceneView
lifecycle - Fixed Camera Stream init
- Fixed Filament Engine not destroyed
- Fixed move gesture: Some conditions for the move gesture are inverted
- Fixed some double Filament entity destroys causing exception when the
SceneView
was destroyed