unmountRenderObject method
      
  
void
unmountRenderObject({})
       
    
override
    Unmount renderBoxModel.
Implementation
@override
void unmountRenderObject(
    {bool deep = true, bool keepFixedAlive = false, bool dispose = true, bool fromFlutterWidget = false}) {
  /// If a node is managed by flutter framework, the ownership of this render object will transferred to Flutter framework.
  /// So we do nothing here.
  if (!fromFlutterWidget && managedByFlutterWidget) {
    return;
  }
  // Ignore the fixed element to unmount render object.
  // It's useful for sliver manager to unmount child render object, but excluding fixed elements.
  if (keepFixedAlive && renderStyle.position == CSSPositionType.fixed) {
    return;
  }
  willDetachRenderer();
  // Dispose all renderObject when deep.
  if (deep) {
    for (Node child in [...childNodes]) {
      child.unmountRenderObject(deep: deep, keepFixedAlive: keepFixedAlive);
    }
  }
  didDetachRenderer();
  if (dispose) {
    // RenderObjects could be owned by Flutter Widget Frameworks.
    if (!isRenderObjectOwnedByFlutterFramework(this)) {
      ownerDocument.inactiveRenderObjects.add(renderer);
    }
  }
  renderBoxModel = null;
}