快速的应用程序电池非常高和CPU最小。 105%

时间:2016-03-12 12:18:16

标签: ios

我的swift 2应用程序的电池使用率非常高,最低。 cpu为105% 但首先不是整个时间。

  1. 我有一个表视图控制器。
  2. 从那里你可以去相机控制器 - 你必须扫描条形码。
  3. 如果检测到条形码,新的视图控制器会通过http post请求将条形码发送到我的mysql数据库并获取信息。
  4. 这个信息我将发送到最后一个视图控制器。 (这是我的问题视图控制器,因为我的cpu达到最低105%并且电池使用率将非常高。从现在起我的完整应用程序中我的cpu将是最小的总时间105% - 无论哪个视图控制器将是下一个。)
  5. 这只是一个简单的静态表视图,其中将显示信息(2个字符串)。在那里你可以点击"保存"并且您的输入将显示在第一个表视图控制器中。

    我删除了最后一个视图控制器的所有代码,使其空白。 此控制器中不会激活任何功能。

    但是cpu也会上升。 任何想法我怎么能检查为什么CPU上升?

    更新

    在我的http post请求控制器中(3) 是这段代码:

    override func viewWillAppear(animated: Bool) {
       self.LoadingCircle.rotate360Degrees(completionDelegate: self)
       self.isRotating = true
    }
    

    rotate360Degress Extension

    extension UIView {
        func rotate360Degrees(duration: CFTimeInterval = 2.5, completionDelegate: AnyObject? = nil) {
            let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation")
            rotateAnimation.fromValue = 0.0
            rotateAnimation.toValue = CGFloat(M_PI * 2.0)
            rotateAnimation.duration = duration
    
            if let delegate: AnyObject = completionDelegate {
                rotateAnimation.delegate = delegate
            }
            self.layer.addAnimation(rotateAnimation, forKey: nil)
        }
    }
    

    如果我删除了viewWillAppear部分中的代码,cpu将保持"正常"

1 个答案:

答案 0 :(得分:0)

您的情况下的委托是不必要的,实际上它会导致此代码在多个实例中运行,这会增加您的CPU使用率。

如果您想重复此活动,可以设置.repeatCount = .infinity