我有一個非常簡單的項目:只有一個ViewController
和一個UIButton
。該IBAction
的按鈕:UIAlertController和內存使用情況
var alertViewControllerTextField: UITextField?
var promptController = UIAlertController(title: "Type Something", message: nil, preferredStyle: .alert)
let ok = UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in
print("\(alertViewControllerTextField?.text)")
})
let cancel = UIAlertAction(title: "Cancel", style: .cancel) { (action) -> Void in
//promptController = nil
}
promptController.addAction(ok)
promptController.addAction(cancel)
promptController.addTextField { (textField) -> Void in
alertViewControllerTextField = textField
}
self.present(promptController, animated: true, completion: nil)
當應用程序啓動完畢,內存使用率是14.4兆。
當我點擊按鈕達到18,4 Mb(如果我再次點擊按鈕,它終於達到20 Mb)。
無論如何,我想,當我點擊UIAlertController的取消或OK按鈕,內存將返回至14.4,甚至慢,但這情況並非如此。
我想使UIAlertController
的optional
不得不爲它分配在接近一個nil
的機會,但UIAlertController
不能nil
因爲你不能將它聲明爲可選。我想讓它成爲會員,並用weak
關鍵字聲明它(沒有運氣)。
那麼,當單擊UIAlertController的某個按鈕時,是否有任何方法來減少內存使用量?
這是在模擬器或設備? – jjatie
它在模擬器中,沒有在設備上試過 –
在設備上嘗試。模擬器中的內存使用不能提供準確的表示。 – jjatie