Sobes.tech
Junior — Middle

Comment déterminer le nombre de zones de mémoire allouées à une application pendant son exécution?

sobes.tech IA

Réponse de l'IA

Sur iOS, pour déterminer l'utilisation de la mémoire par l'application pendant son exécution, vous pouvez utiliser les outils Xcode, par exemple, Instruments avec le modèle Allocations ou Memory Graph Debugger. Ils affichent la quantité de mémoire allouée, sa taille et son type.

Vous pouvez également obtenir des informations sur l'utilisation actuelle de la mémoire via l'API, par exemple en utilisant task_info de l'API Mach:

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("Mémoire utilisée : \(memoryUsed) octets")
}

Ce code retourne la quantité de mémoire occupée (taille résident) par l'application en cours. Cependant, pour une analyse détaillée, il est préférable d'utiliser les outils Xcode.