È possibile monitorare la quantità di memoria utilizzata dall'app?L'utilizzo della memoria del monitor in un'app per iPhone?
risposta
È possibile utilizzare strumenti. È fornito con iOS SDK.
è più preciso di un dispositivo che il simulatore ...
lanciarlo, scegliere un tipo di monitoraggio (Allocation, Perdite, Activity Monitor), sceglie di processo e di destinazione per monitorare e quindi fare clic sul pulsante di registrazione.
Cliccando su questo pulsante, l'app si apre da sola.
Al termine, fare clic sul pulsante stop per interrompere il monitoraggio.
È possibile trovare maggiori informazioni su questo programma: About Instruments
Sì. In Xcode, apri il tuo progetto e scegli Esegui>Esegui con Performance Tool>Allocazioni. Questo avvierà un'applicazione chiamata Strumenti, che può essere utilizzata per analizzare la tua app. In questo caso specifico registrerà tutte le allocazioni di oggetti che ti offrono una buona panoramica del tuo footprint di memoria. Puoi usarlo con entrambi, il simulatore iOS e un dispositivo reale. Si consiglia di analizzare l'app mentre è in esecuzione su un dispositivo iOS per ottenere risultati ottimali.
Gli strumenti possono fare molto di più per aiutarti a ottimizzare le tue app, quindi dai uno sguardo più da vicino allo Instruments User Guide.
Questo è ora Prodotto -> Analizza -> Allocazioni. Smettila di spostare roba in giro, Apple, è odioso. –
Rendi quel prodotto -> Profiling (clicca) -> Allocazioni –
Se si dispone di un account sviluppatore Apple, controllare l'attuale WWDC sugli strumenti e ottimizzare la memoria su ios. Vale veramente la pena di vedere se sei tu a capire rapidamente come funzionano gli strumenti.
In realtà, è probabilmente più importante sapere quanta memoria è gratuita, piuttosto che quanto la tua app sta utilizzando. Ecco il codice per farlo:
#import <mach/mach.h>
#import <mach/mach_host.h>
+(natural_t) get_free_memory {
mach_port_t host_port;
mach_msg_type_number_t host_size;
vm_size_t pagesize;
host_port = mach_host_self();
host_size = sizeof(vm_statistics_data_t)/sizeof(integer_t);
host_page_size(host_port, &pagesize);
vm_statistics_data_t vm_stat;
if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS) {
NSLog(@"Failed to fetch vm statistics");
return 0;
}
/* Stats in bytes */
natural_t mem_free = vm_stat.free_count * pagesize;
return mem_free;
}
Grazie questo è stato molto utile. Lo abbiamo inserito in un ciclo di richiamo per confrontare i footprint di memoria di due diversi approcci. Ci siamo sentiti come i risultati di questo erano più coerenti e più senso allora da strumenti. – Kibitz503
Posso chiedere perché sarebbe più utile sapere quanta memoria è libera rispetto a quanto viene utilizzata dall'app corrente? Quanto è libero influisce solo sulla quantità di lag spiking nel prossimo futuro, se l'allocazione viene eseguita, mentre l'utilizzo totale dovrebbe informare se ** la fine dell'app ** è imminente. Non riesco a immaginare una singola situazione in cui il primo sia più utile da sapere rispetto al secondo. Indirizzo i lettori [qui] (http://stackoverflow.com/a/7990532/340947) per un modo per scoprire l'utilizzo corrente dell'app. –
Quando qualcuno chiede A, non dirgli che A non è importante quanto B. –
si può verificare con questo URL: https://github.com/andrealufino/ALSystemUtilities/blob/develop/ALSystemUtilities/ALSystemUtilities/ALDisk/ALDisk.m questo sta lavorando bene.
Questo va bene. Ma invece di pubblicare semplicemente Link, prova a postare alcune spiegazioni. –
- 1. Memoria del monitor in MATLAB
- 2. Monitor di accesso alla memoria per programmi c
- 3. iPhone gestione della memoria e rilascio
- 4. Stima dell'utilizzo della memoria del gioco Cocos2d
- 5. memoria utilizzando NSData in iPhone
- 6. Memoria utilizzata da qualsiasi app per iPhone
- 7. Windows: Come cambiare la luminosità della retroilluminazione del monitor
- 8. Ottenere le dimensioni del monitor in python
- 9. ToolTip sul secondo monitor viene visualizzato sul bordo del monitor
- 10. Simulazione della batteria scarica per iPhone
- 11. allocazione di memoria e rilascio per UIImage in iPhone?
- 12. L'utilizzo della memoria del client SQL Express è diverso dall'utilizzo della memoria del client SQL Enterprise
- 13. App per iPhone e iPad Uso memoria reale e virtuale
- 14. Firefox: Network Monitor: come eseguire il debug del payload JSON?
- 15. crescita della memoria del ciclo cURL
- 16. Differenza tra consumo di memoria virtuale e memoria reale con Memory Monitor su iOS
- 17. Scattare foto ogni 66 millisecondi sul telefono Android per l'analisi del colore (monitor della frequenza cardiaca)
- 18. Indirizzo della memoria del blocco iniziale
- 19. Byte in tempo reale e memoria reale in Activity Monitor su iOS
- 20. C'è un modo per determinare la dimensione fisica del monitor?
- 21. È possibile visualizzare il mio iPhone sul monitor del mio computer?
- 22. Dimensioni della memoria Java della classe vs della memoria?
- 23. Come posso recuperare le informazioni del monitor?
- 24. monitor di commit per tfs
- 25. Gestione della memoria in perl
- 26. Rilevamento del problema di frammentazione della memoria in un processo
- 27. CSS e dimensioni diverse del monitor?
- 28. Come trovare l'utilizzo della memoria in mac OSX?
- 29. Controllo preciso del layout della memoria in Rust?
- 30. Il monitor di memoria in Android Studio segnala un utilizzo di RAM diverso dal dispositivo
Tutte le risposte indicano strumenti è possibile utilizzare in XCode quando un dispositivo è legato. ** Mi piacerebbe sapere, se un'app può determinare la quantità di memoria attualmente in uso, quando è in esecuzione in natura (sul telefono di un consumatore). ** Se qualcuno lo sa, fantastico. – Fattie
@ Joe - Ben mostra un modo per farlo utilizzando le funzioni di Mach qui: http://stackoverflow.com/questions/2798638/available-memory-for-iphone-os-app/2798771#2798771, che è identico a quello che Andrew ha nella sua risposta. –
possibile duplicato di [Recupero programmato dell'utilizzo della memoria su iPhone] (http://stackoverflow.com/questions/787160/programmatically-retrieve-memory-usage-on-iphone) – CRABOLO