+#if defined(LOW_SPEC_MEMORY_MANAGEMENT_ENABLED)
+ // Shrink relevant containers if required.
+ if(mImpl->containerRemovedFlags & ContainerRemovedFlagBits::NODE)
+ {
+ mImpl->nodes.ShrinkToFitIfNeeded();
+ }
+ if(mImpl->containerRemovedFlags & ContainerRemovedFlagBits::RENDERER)
+ {
+ mImpl->renderers.ShrinkToFitIfNeeded();
+ }
+ if(mImpl->containerRemovedFlags & ContainerRemovedFlagBits::SHADER)
+ {
+ mImpl->shaders.ShrinkToFitIfNeeded();
+ }
+ if(mImpl->containerRemovedFlags & ContainerRemovedFlagBits::TEXTURE_SET)
+ {
+ mImpl->textureSets.ShrinkToFitIfNeeded();
+ }
+ if(mImpl->containerRemovedFlags & ContainerRemovedFlagBits::ANIMATION)
+ {
+ mImpl->animations.ShrinkToFitIfNeeded();
+ }
+ if(mImpl->containerRemovedFlags & ContainerRemovedFlagBits::PROPERTY_NOTIFICATION)
+ {
+ mImpl->propertyNotifications.ShrinkToFitIfNeeded();
+ }
+ if(mImpl->containerRemovedFlags & ContainerRemovedFlagBits::CUSTOM_OBJECT)
+ {
+ mImpl->customObjects.ShrinkToFitIfNeeded();
+ }
+
+ // Reset flag
+ mImpl->containerRemovedFlags = ContainerRemovedFlagBits::NOTHING;
+#endif
+