小编sha*_*h21的帖子

尝试使用循环一次更新 300 多个联系人时 CNMutableContact 内存泄漏的 MutableCopy

我被困在一次更新 300 多个联系人的问题上。当我尝试将真实联系人的 mutablecontact 图像更新为 mutablablecopy 时,发生内存泄漏。

RAM 使用量超过 1.4GB,然后应用程序崩溃。这是我的代码。

if let mutableCopy = contact.mutableCopy() as? CNMutableContact {
                                                                
    ImageDownloader.default.downloadImage(with: URL(string: thumbnailImageURL)!) { result in
                                    
      switch result {
         case .success(let value):
              queue.sync {
                     SVProgressHUD.show(withStatus: "loading 1")
                     //mutableCopy.imageData = compressedImage?.pngData()
                     mutableCopy.imageData = value.image.pngData() //self.returnCustomSizeImage(image: value.image).pngData()
                     mutableCopy.givenName  = givenName
                     mutableCopy.phoneNumbers = [CNLabeledValue(label: self.responsedContactsArray[index2].label ?? "NO DOB", value: CNPhoneNumber(stringValue: "\(trimmedPhoneNumber)"))]
                                            
                    //mutableCopy.familyName = "?"
                    saveRequest.update(mutableCopy)
                                            
                      do {
                           try AppDelegate.mContactStore.execute(saveRequest)
                          } catch let error {
                                 SVProgressHUD.dismiss()
           }
         }
Run Code Online (Sandbox Code Playgroud)

memory-leaks mutable contacts ios swift

6
推荐指数
0
解决办法
49
查看次数

如何在 Swift 中将“图像阵列作为照片库中的连拍图像”保存

“我正在尝试在我的相机应用程序中创建连拍功能,并想将连拍图像保存到照片库中。到目前为止,我通过长按拍摄按钮获得了一系列图像?”

arrays save avfoundation avcapture swift

5
推荐指数
0
解决办法
179
查看次数

标签 统计

swift ×2

arrays ×1

avcapture ×1

avfoundation ×1

contacts ×1

ios ×1

memory-leaks ×1

mutable ×1

save ×1