我在视图控制器上什么都不做,我看到了应用程序正在工作时变化的图形。内存泄漏Xcode 8仪器
这真的是泄漏吗?
它第一次显示绿色的对勾,然后它显示1个泄漏并没有新的泄漏。
因此,这意味着没有泄漏或仍然有1个泄漏,但不是新的泄漏?
我实际上有包含经理的强烈参考的应用程序委托。
class AppDelegate {
var applicationManager = ApplicationManager()
}
,我在ApplicationManager
class ApplicationManager
{
lazy var apiService: APIService = {
let service = APIService()
return service
}()
lazy var facebookService: FacebookService = {
let service = FacebookService()
return service
}()
}
有几个服务我有一个函数
func logInUser()
{
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
fatalError()
}
let apiService = appDelegate.applicationManager.apiService
guard let email = emailTextField.text, let password = passwordTextField.text else {
return
}
apiService.loginUserWith(email, password: password) {(result) in
}
可能这个代码将导致问题?
使用新的工具我也看到
,我有一个泄漏的对象(这是在另一个以前的项目),但具有相同执行经理和服务。
泄漏是泄漏;一旦物体泄漏,它会永远泄漏。但它只是一个对象,所以也许你并不在乎。如果需要,可以使用Instruments来追踪有问题的对象的内存管理。 – matt
@matt,也许是错误的,是的,我明白了)但奇怪我只分配的服务导致泄漏,我可以分享来源? –
有一个泄漏报告错误http://stackoverflow.com/questions/39944703/object-hierarchy-is-causing-a-memory-leak-in-swift因此,也许你的泄漏不是真实的。 – matt