34 lines
720 B
Markdown
34 lines
720 B
Markdown
|
|
# IResource::Release
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
virtual void Release() = 0
|
||
|
|
```
|
||
|
|
|
||
|
|
释放资源引用。纯虚方法,由具体资源类实现,用于执行资源特有的清理逻辑(如释放 GPU 资源、释放内存等)。在 `ResourceHandle` 析构或调用 `Reset()` 时会自动触发。
|
||
|
|
|
||
|
|
**参数:** 无
|
||
|
|
|
||
|
|
**返回:** 无
|
||
|
|
|
||
|
|
**复杂度:** O(1) 或 O(n),取决于具体实现
|
||
|
|
|
||
|
|
**示例:**
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
class Texture : public IResource {
|
||
|
|
public:
|
||
|
|
void Release() override {
|
||
|
|
if (m_rhiTexture) {
|
||
|
|
m_rhiTexture->Release();
|
||
|
|
m_rhiTexture = nullptr;
|
||
|
|
}
|
||
|
|
m_pixelData.Clear();
|
||
|
|
m_isValid = false;
|
||
|
|
}
|
||
|
|
};
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [IResource 总览](iresource.md) - 返回类总览
|