Explorar o código

【综合】DFP广告内存释放优化

niehaoyu hai 10 meses
pai
achega
617cc851fe

+ 1 - 0
PDF Office/PDF Master/Class/AD/KMAdsManager.swift

@@ -120,6 +120,7 @@ class KMAdsManager: NSObject {
     func dismissSheetModal(for view: NSView) {
         if let adView = adViews.first {
             adViews.removeAll { $0 == adView }
+            adView.stopLoading()
             adView.removeFromSuperview()
         }
 //        if let adView = view.viewWithTag(kADViewWithTag) as? KMAdsWebView {

+ 4 - 1
PDF Office/PDF Master/Class/AD/KMAdsWebView.swift

@@ -157,7 +157,10 @@ class KMAdsWebView: NSView, WKNavigationDelegate, CAAnimationDelegate {
     }
 
     func stopLoading() {
-
+        if timer != nil {
+            timer?.invalidate()
+            timer = nil
+        }
     }
 
     func resizeWithOldSuperviewSize(oldSize: NSSize) {

+ 1 - 0
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift

@@ -1791,6 +1791,7 @@ import Cocoa
             NSSpellChecker.shared.closeSpellDocument(withTag: self.listView.spellingTag())
         }
         self.removeAutoSaveInfo()
+        KMAdsManager.defaultManager.dismissSheetModal(for: self.readContentView)
     }
     
     public func clearSecureOptions() {