Gam*_*ads 2 qt qimage qml qtquick2 qtquickcontrols2
如何清除或清理QIMage
我的以下方法获取对的常量引用QIMage。
MyMethod(const QImage & img) {
// save it to a file
img.save("/path/to/save/the/qimage");
// now I want to clan up img from memory. How should I do it?
}
Run Code Online (Sandbox Code Playgroud)
问题:使用后
如何QImage从内存中清除对象?
注意:
请注意,它是一个const & QImage。因此,答案将涉及将其QImage转换为非const吗?另外,我正在尝试获取QImageData指向数据的指针并将其删除。不知道这是否是正确的方法。提出建议。
您需要一个非常量引用或指针。使用指针,答案显而易见。通过引用,您只需为其分配默认构造QImage即可。
MyMethod(QImage & img) {
img.save("/path/to/save/the/qimage");
img = QImage();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果还有其他QImage实例引用同一张图像,这可能仍无法清除该图像占用的内存。为了克服这一障碍,您需要避免多个QImage实例引用同一张图像。甲Qimage实例是像在这方面的一个共享指针。
const-cast将被视为揭示您的情况下的设计缺陷。我建议反对。
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |