我正在将Document目录中的png图像加载到UIImageView中。使用xcode Debug memory graph时,会出现内存问题:instances of NSPathStore2 leaked
我听说仪器的泄漏工具可能报告错误的leaks。
问题似乎出在UIImage中,请参阅Instruments Leak报告:
这里是产生图像的代码:
try FileManager.default.copyfileToUserDocumentDirectory(forResource: "smiley", ofType: ".png")
var fullPathString = ""
if let docDir = NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask,
true).first {
let fileName = "smiley.png"
let fullDestPath = URL(fileURLWithPath: docDir).appendingPathComponent(fileName)
fullPathString = fullDestPath.path
}
mainStackView.addArrangedSubview(UIImageView(image: UIImage(contentsOfFile: fullPathString)))
mainStackView.addArrangedSubview(UIImageView(image: UIImage(contentsOfFile: fullPathString)))
产生此问题的工作项目可以在这里找到:UIImageViewNSPathStore2leaked
是否有办法更改代码以消除这些泄漏,或者这是其中的虚假报告之一?
非常感谢您的帮助。
问题不在于您的代码,而是您的计算机。在我的Mac上运行Xcode项目时,它可以完美运行。
仪器的泄漏工具报告为假。没有更好的方法来在ios中显示图像。
在我的机器上工作:)[bbbbbbbbbb
您需要重新分配您的记忆。这只能通过制作结构图来完成。