5

Sto utilizzando Cocos2d 2.0 con ARC abilitato. Il mio gioco è un gioco generato a caso quindi ho bisogno di caricare/scaricare texture (spritesheet-batchnode) all'interno di una scena nel mezzo del gioco. Sto provando a rimuoverepriteframesfromfile e rimuovere texture per la chiave per uno spritesheet che desidero scaricare nel mezzo. Quando utilizzo dumpcachedtextureInfo dopo aver scaricato il foglio, la texture del spritesheet non viene visualizzata nei registri di dumpcachedtextureinfo.Stima dell'utilizzo della memoria del gioco Cocos2d

Ma quando uso Strumenti/monitor attività per profilare la mia app, l'effettivo utilizzo della memoria non diminuisce dopo aver scaricato la texture e il foglio di sprite.

C'è un modo in cui dumpcachedtextureinfo non mostrerà una trama che è ancora in memoria? Inoltre, la colonna My livebytes nelle allocazioni mostra 4 MB.

Inoltre, come ho letto in vari punti, le allocazioni non mostrano memoria texture.

Così i miei allocazioni vivono colonna di byte dice 4 MB, la mia memoria texture totale, come mostrato con tronchi di dumpcchedtextureinfo è dimostrato di essere 84MB, ma alambicchi memoria monitor mostra l'utilizzo della memoria reale di essere 84 + dimensioni Spritesheet + Bytes diretta

Non sono in grado di capire questa differenza?

Non sto uscendo dalla scena, quindi non sono sicuro che ARC stia conservando la memoria o cosa?

+0

Dal momento che si sta già utilizzando strumenti, verificare se una delle grandi frammenti di memoria sono ancora "vivi" e forse trapelati. Oltre a questo, forse stai guardando la colonna delle allocazioni totali che non diminuirà mai. – LearnCocos2D

+0

Sono preoccupato per la metrica "Real Memory usage" sotto il monitoraggio dell'attività. Non diminuisce affatto anche dopo lo scaricamento. Non capisco perché è quello? – user1847220

risposta

4

Alcune note utili per voi

  • This Cocos2d memory optimisation spiega molto bene sulla gestione della memoria in Cocos2d.

  • Per controllare l'allocazione totale della memoria, utilizzare: Strumento-> Monitoraggio attività.

enter image description here

enter image description here

  • Per verificare perdite di memoria sono dotati di: instrument> Perdite enter image description here
+0

Ho già passato questo link e sì è molto utile. Il mio problema non è l'ottimizzazione della memoria. Il mio problema è conoscere l'esatta memoria utilizzata dalla mia app in un istante di tempo. – user1847220

+0

in strumento puoi vedere ... spero tu sappia: - – Guru

+1

anche: seleziona allocazioni, lista degli oggetti. Cerca il nome della classe (es. CCTexture2D). Se c'è un punto accanto, è ancora vivo (nella memoria). Verifica se questo cambia quando rimuovi i tex dalla cache. – LearnCocos2D