我在視圖控制器上什麼都不做,我看到了應用程序正在工作時變化的圖形。內存泄漏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