mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Fix memory leaks
This commit is contained in:
@@ -50,11 +50,11 @@ final class NetworkStatsContext {
|
||||
|
||||
private final class Impl {
|
||||
let queue: Queue
|
||||
let postbox: Postbox
|
||||
weak var postbox: Postbox?
|
||||
|
||||
var averageTargetStats: [TargetKey: AverageStats] = [:]
|
||||
|
||||
init(queue: Queue, postbox: Postbox) {
|
||||
init(queue: Queue, postbox: Postbox?) {
|
||||
self.queue = queue
|
||||
self.postbox = postbox
|
||||
}
|
||||
@@ -86,12 +86,14 @@ final class NetworkStatsContext {
|
||||
var removeKeys: [TargetKey] = []
|
||||
for (targetKey, averageStats) in self.averageTargetStats {
|
||||
if averageStats.count >= 1000 || averageStats.size >= 4 * 1024 * 1024 {
|
||||
addAppLogEvent(postbox: self.postbox, type: "download", data: .dictionary([
|
||||
"n": .number(Double(targetKey.networkType.rawValue)),
|
||||
"d": .number(Double(targetKey.datacenterId)),
|
||||
"b": .number(averageStats.networkBps / Double(averageStats.count)),
|
||||
"nd": .number(averageStats.networkDelay / Double(averageStats.count))
|
||||
]))
|
||||
if let postbox = self.postbox {
|
||||
addAppLogEvent(postbox: postbox, type: "download", data: .dictionary([
|
||||
"n": .number(Double(targetKey.networkType.rawValue)),
|
||||
"d": .number(Double(targetKey.datacenterId)),
|
||||
"b": .number(averageStats.networkBps / Double(averageStats.count)),
|
||||
"nd": .number(averageStats.networkDelay / Double(averageStats.count))
|
||||
]))
|
||||
}
|
||||
removeKeys.append(targetKey)
|
||||
}
|
||||
}
|
||||
@@ -109,7 +111,7 @@ final class NetworkStatsContext {
|
||||
init(postbox: Postbox) {
|
||||
let queue = NetworkStatsContext.sharedQueue
|
||||
self.queue = queue
|
||||
self.impl = QueueLocalObject(queue: queue, generate: {
|
||||
self.impl = QueueLocalObject(queue: queue, generate: { [weak postbox] in
|
||||
return Impl(queue: queue, postbox: postbox)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user