Fiche 15.03 — Instruments Time Profiler
Objectif
Comprendre à quoi sert Instruments Time Profiler et savoir l’utiliser pour repérer une lenteur ou un freeze UI.
Tu n’as pas besoin d’être expert performance, mais tu dois savoir diagnostiquer un problème simple.
1. Pourquoi utiliser Instruments ?
Quand une app rame, print ne suffit pas toujours.
Time Profiler montre quelles fonctions consomment le plus de temps CPU.
Cas typiques :
- écran qui freeze ;
- scroll saccadé ;
- traitement lourd dans le body SwiftUI ;
- parsing JSON trop gros ;
- image redimensionnée sur le main thread ;
- boucle coûteuse.
2. Lancer Time Profiler
Dans Xcode :
Ensuite tu reproduis le problème dans l’app.
3. Ce qu’il faut regarder
Dans Time Profiler, cherche :
- les fonctions qui prennent beaucoup de temps ;
- les appels répétés trop souvent ;
- les traitements sur le main thread ;
- les fonctions de ton projet, pas seulement celles d’Apple.
La bonne question :
4. Exemple de mauvais code SwiftUI
Si la liste est grande, cette fonction peut être rappelée souvent.
Version plus propre :
Le calcul peut être fait dans un ViewModel.
5. Main thread
L’interface doit rester fluide. Les traitements lourds ne doivent pas bloquer le main thread.
Mauvais exemple :
Meilleure approche :
6. Ce qu’on peut dire en entretien
J’utilise Instruments Time Profiler pour comprendre les lenteurs, repérer les fonctions coûteuses, vérifier si le main thread est bloqué et déplacer les traitements lourds hors de la vue ou dans une tâche async.
Résumé
- Time Profiler sert à trouver les fonctions coûteuses.
- Il est utile pour les freezes, scrolls saccadés et lenteurs.
- Évite les traitements lourds dans
body. - Le main thread doit rester disponible pour l’UI.