ソースを参照

PQCustomSpeedSettingView,PQSpeedSettingView 内存泄漏修复

huzhiqiang 3 年 前
コミット
795c22d525

+ 12 - 12
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -335,21 +335,21 @@ class PQStuckPointEditerController: PQBaseViewController {
 
     // 固定速度 UI
     lazy var speedSettingView: PQSpeedSettingView = {
-        let speedSettingView = PQSpeedSettingView()
-        speedSettingView.backgroundColor = .clear
-        speedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, selectIndex, isSettingPlayer in
+        let speedSetView = PQSpeedSettingView()
+        speedSetView.backgroundColor = .clear
+        speedSetView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, selectIndex, isSettingPlayer in
             BFLog(message: "固定maxSpeed is\(maxSpeed) minSpeed \(minSpeed)")
             self?.musicEditBGView.pausePlayer()
 
             if maxSpeed == -1.0 && minSpeed == -1.0 {
                 self?.customSpeedSettingView.isHidden = false
-                self?.customSpeedSettingView.viewType = speedSettingView.viewType
+                self?.customSpeedSettingView.viewType = self?.speedSettingView.viewType ?? 2
             } else {
                 if maxSpeed != 0.0 {
                     // 更新最后一次选择的位置恢复时使用
-                    if speedSettingView.viewType == 1 {
+                    if self?.speedSettingView.viewType == 1 {
                         self?.lastSpeedSelectIndex = selectIndex
-                    } else if speedSettingView.viewType == 2 {
+                    } else if self?.speedSettingView.viewType == 2 {
                         self?.lastJumpSpeedSelectIndex = selectIndex
                     } else {
                         self?.lastCyclesSelectIndex = selectIndex
@@ -364,7 +364,7 @@ class PQStuckPointEditerController: PQBaseViewController {
                 self?.settingPlayerView()
             }
         }
-        return speedSettingView
+        return speedSetView
 
     }()
     
@@ -379,9 +379,9 @@ class PQStuckPointEditerController: PQBaseViewController {
 
     // 自定义速度
     lazy var customSpeedSettingView: PQCustomSpeedSettingView = {
-        let customSpeedSettingView = PQCustomSpeedSettingView(frame: CGRect(x: 0, y: cScreenHeigth - 354, width: cScreenWidth, height: 354))
-        customSpeedSettingView.isHidden = true
-        customSpeedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, isJumpSpeedModel, isCancle in
+        let customSpeedSetView = PQCustomSpeedSettingView(frame: CGRect(x: 0, y: cScreenHeigth - 354, width: cScreenWidth, height: 354))
+        customSpeedSetView.isHidden = true
+        customSpeedSetView.selectSpeedCallBack = { [weak self, weak customSpeedSetView] maxSpeed, minSpeed, isJumpSpeedModel, isCancle in
             if !isCancle {
                 self?.maxSpeed = maxSpeed
                 self?.minSpeed = minSpeed
@@ -410,10 +410,10 @@ class PQStuckPointEditerController: PQBaseViewController {
                     self?.speedSettingView.setSelectItem(index: self?.lastCyclesSelectIndex ?? 0, isSettingPlayer: false)
                 }
 
-                customSpeedSettingView.isHidden = true
+                customSpeedSetView?.isHidden = true
             }
         }
-        return customSpeedSettingView
+        return customSpeedSetView
 
     }()
 

+ 4 - 0
BFFramework/Classes/Stuckpoint/View/PQCustomSpeedSettingView.swift

@@ -166,6 +166,10 @@ class PQCustomSpeedSettingView: UIView {
     required init?(coder _: NSCoder) {
         fatalError("init(coder:) has not been implemented")
     }
+    
+    deinit {
+        BFLog(1, message: "custom speed setting view release")
+    }
 
     func showHiddenView() {
         customSpeedFastView.isHidden = !(viewType == 1)

+ 5 - 0
BFFramework/Classes/Stuckpoint/View/PQSpeedSettingView.swift

@@ -113,6 +113,11 @@ class PQSpeedSettingView: UIView {
     required init?(coder _: NSCoder) {
         fatalError("init(coder:) has not been implemented")
     }
+    
+    
+    deinit {
+        BFLog(1, message: "speed setting view release")
+    }
     //设置默认选择的
     /// - Parameters:
     ///   - index: index: 第几位 从0 开始

+ 2 - 2
BFFramework/Classes/Utils/PQCommonMethodUtil.swift

@@ -135,7 +135,7 @@ public func kf_imageCacheImage(originUrl: String, completeHandle: @escaping (_ i
 /** 打印 */
 public func BFLog<T>( _ type : Int = 0, message: T) {
  
-    if type == 0 {
+    if type == 2 {
         let logger = NXLogger.shared
         
         logger.level = .info
@@ -144,7 +144,7 @@ public func BFLog<T>( _ type : Int = 0, message: T) {
         logger.d(message as? String ?? "")
         
         BuglyLog.level(.warn, logs: message as? String)
-    }else if type == 3 {
+    }else if type == 1 {
 #if DEBUG
         let file = (#file as NSString).lastPathComponent;
         let dateFmt = DateFormatter()