# Application::Shutdown **命名空间**: `XCEngine::Editor` **类型**: `method` **源文件**: `editor/src/Application.h` ## 签名 ```cpp void Shutdown(); ``` ## 作用 按反向顺序释放当前 Editor 宿主壳持有的主要资源与子系统。 ## 当前实现行为 - 会先把: - `m_renderReady = false` - `m_hasLastFrameTime = false` - 然后依次执行: - `DetachEditorLayer()` - 若存在 `EditorContext`,先把其 `ViewportHostService` 指针清空 - `m_viewportHostService.Shutdown()` - `UI::ShutdownBuiltInIcons()` - `m_imguiBackend.Shutdown()` - `m_imguiSession.Shutdown()` - `ShutdownScriptingRuntime()` - `ShutdownEditorContext()` - 若资源系统曾初始化,则关闭 `ResourceManager` - `m_windowRenderer.Shutdown()` ## 设计含义 - 当前 shutdown 顺序明显按依赖关系反向释放。 - 特别是先断开 `EditorContext -> ViewportHostService` 引用,再销毁视口宿主,避免悬空服务指针。 ## 相关文档 - [Application](Application.md) - [Initialize](Initialize.md) - [Render](Render.md)