我在 Xcode 控制台中看到一条消息,它是Received memory pressure event 1 vm pressure 0. 我不确定是什么原因造成的,为什么但我知道当我在相机视图控制器中时会打印。我猜这没什么可担心的(还),但它是否指向我应该尽快修复的问题?
FirstViewController: UIViewController {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let image = info[UIImagePickerController.InfoKey.editedImage] as! UIImage
let croppedImage = cropToBounds(image: image, width: 10, height: 10)
self.productImage.image = croppedImage
print("size: \(croppedImage.size)")
print("original size: \(image.size)")
self.dismiss(animated: true, completion: nil)
}
func setupCameraPicker() {
if UIImagePickerController.isSourceTypeAvailable(.camera) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .camera;
imagePicker.allowsEditing = true
self.present(imagePicker, animated: true, completion: nil)
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 2
自动释放池
\nautoreleasepool { \n let image = info[UIImagePickerController.InfoKey.editedImage] as! UIImage\n let croppedImage = cropToBounds(image: image, width: 10, height: 10)\n self.productImage.image = croppedImage\n print("size: \\(croppedImage.size)")\n print("original size: \\(image.size)")\n self.dismiss(animated: true, completion: nil)\n }\nRun Code Online (Sandbox Code Playgroud)\n尝试将你的代码放在autoreleasepool\nFoundation\xe2\x80\x99s NSAutoreleasePool类型中,后来抽象为@autoreleasepool块,是iOS开发中一个非常古老的概念。在 iOS 的 Obj-C 时代,使用这种类型对于防止应用程序的内存在特定情况下爆炸非常重要。随着 ARC 和 Swift 的出现和发展,很少有人仍然需要手动操作内存,这使得看到它成为一种罕见的情况。
\n