38 lines
764 B
Markdown
38 lines
764 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) - 返回类总览
|