use*_*902 26 xcode ios firebase swift firebase-realtime-database
我的应用程序使用firebase的observeSingleEventOfType相当一点点,我开始意识到我的应用程序的内存随着时间的推移而增加.除了调用以下函数的测试按钮之外,我已经注释掉了我的所有代码.
func loadPostsTest() {
FIRDatabase.database().reference().child("posts").observeSingleEventOfType(.Value, withBlock: { (snapshot: FIRDataSnapshot) in
print(snapshot.value)
})
}
Run Code Online (Sandbox Code Playgroud)
当程序启动时,我以大约2,3次的快速速度点击测试按钮并观察内存图,如下所示.内存上升,请求后不会恢复.从长远来看,这个问题影响我的应用程序,因为我的应用程序的内存将从70mb增长到150 + mb因此.有什么理由吗?
请注意,短暂的五秒休息是我停下来确保打印出所有"快照".
注2 ...当我停止按下按钮时,存储器保持与"短休息区"中所示的相同的水平.只是因为你认为它会无限期地自我增长
-------更新----------
为了进一步确认这个问题,我创建了一个全新的项目,其中没有任何内容,但是firebase导入,故事板中的一个按钮,带有以下代码并在我的6s上模拟(模拟器上的模拟似乎没有这个问题).下面的图片证明这里有一些可疑的火灾基地,因为我的记忆从11.1mb变为17.3mb,一分钟左右就有303个请求.
import UIKit
import Firebase
class ViewController: UIViewController {
var count: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func testBtnPressed(sender: AnyObject) {
FIRDatabase.database().reference().child("posts").observeSingleEventOfType(.Value, withBlock: {[weak self] (snapshot: FIRDataSnapshot) in
print(self?.count)
self?.count += 1
})
}
Run Code Online (Sandbox Code Playgroud)
dbb*_*ess 10
这可能只发生,因为您正在运行调试版本.在使用调试版本对设备进行~128次点击后,我的结果如下:
如您所见,绝大多数内存消耗是由于与调试相关的性能工具.如果您想通过编辑方案进行确认,可以禁用此功能:
然后禁用回溯录制:
禁用它后,相同的~128次点击基本上没有增长:
当然,您可能不希望保留该禁用,因为您可能会发现它对于诊断崩溃和调试版本中的其他问题很有用.它应该不是发布版本中的问题!
作为参考,这是我运行的代码:
import UIKit
import FirebaseDatabase
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
private var count: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func testBtnPressed(sender: AnyObject) {
let db = FIRDatabase.database().reference()
db.child("posts").observeSingleEventOfType(.Value) { [weak self] (snap: FIRDataSnapshot!) in
guard let this = self else { return }
this.count = this.count + 1
this.label.text = "\(this.count)"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2025 次 |
| 最近记录: |