Fare buon uso di strumenti per le prestazioni XCode
-
20-09-2019 - |
Domanda
Quali sono le migliori pratiche, trucchi e tutorial per l'utilizzo di strumenti di performance di XCode, come ad esempio il monitoraggio delle perdite e il campionatore CPU, per qualcuno che cerca di eseguire il debug e migliorare le prestazioni di un'applicazione per iPhone? Grazie!
Soluzione
Dipende interamente sulla domanda e su ciò che si sta cercando di fare. Stai cercando di ottimizzare l'intera applicazione o stai concentrati su una zona particolare problema? Stai cercando di ridurre l'utilizzo della memoria, ridurre l'utilizzo della CPU, e / o rendere l'applicazione più reattivo?
Prima di iniziare l'analisi delle prestazioni, utilizzare l'analizzatore statico per analizzare il codice. Sarà spesso trovare i problemi di gestione della memoria che porterebbero a perdite che potrebbero causare la vostra applicazione potenzialmente in crash sul dispositivo.
Una volta che tutti i problemi dell'analizzatore individuati sono stati risolti, l'approccio migliore è quello di iniziare identificando problemi di prestazioni percepite. Cioè, si concentrano su problemi di prestazioni che l'utente se ne accorgesse. Poi analizzare quelli. Se si riesce a farla franca, fare l'analisi sulla applicazione in esecuzione nel simulatore, come il tempo di consegna è più veloce.
Se il problema è uno di gonfiare, uso Alloc oggetti e perdite di capire perché.
Se è uno dei comportamenti lag / lenta, utilizzare gli strumenti di CPU per capire dove i cicli stanno andando. Tenete a mente, però, che il comportamento pigro può non essere a causa di utilizzo della CPU, ma possono essere perché il ciclo degli eventi principale è bloccata da qualcosa, molto probabilmente i modelli di concorrenza non corretti. In tal caso, vedrete tutti i campioni sul thread principale in una sorta di una serratura o funzione di attesa.
Oltre a ciò, è necessario individuare scenari specifici per ottenere risposte specifiche.
Altri suggerimenti
strumenti uso in quel uso allocazione oggetto monitorare l'attività, perdite Monitor memoer
e testare la vostra applicazione