Junior — Middle
Tətbiqin işləmə zamanı ayrılmış yaddaş sahələrinin sayını necə müəyyən etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-da, tətbiqin işləmə zamanı yaddaş istifadəsini müəyyən etmək üçün Xcode alətlərindən istifadə edə bilərsiniz, məsələn, Instruments ilə Allocations şablonu və ya Memory Graph Debugger. Bu alətlər ayrılmış yaddaşın miqdarını, ölçüsünü və növünü göstərir.
Həmçinin, API vasitəsilə, məsələn, Mach API-dən task_info istifadə edərək, hazırkı yaddaş istifadəsi haqqında məlumat əldə etmək mümkündür:
import MachO
import Darwin
func reportMemory() -> UInt64? {
var info = task_basic_info()
var count = mach_msg_type_number_t(MemoryLayout<task_basic_info>.size) / 4
let kerr: kern_return_t = withUnsafeMutablePointer(to: &info) {
$0.withMemoryRebound(to: integer_t.self, capacity: Int(count)) {
task_info(mach_task_self_, task_flavor_t(TASK_BASIC_INFO), $0, &count)
}
}
if kerr == KERN_SUCCESS {
return UInt64(info.resident_size)
} else {
return nil
}
}
if let memoryUsed = reportMemory() {
print("İstifadə olunan yaddaş: \(memoryUsed) bayt")
}
Bu kod cari tətbiqin istifadə etdiyi yaddaş miqdarını (resident size) qaytarır. Daha ətraflı analiz üçün Xcode alətlərindən istifadə etmək daha yaxşıdır.