2012-06-07 10 views
8

Quali sono le implicazioni di VMDebug.startGC in un file TraceviewQuali sono le implicazioni di VMDebug.startGC in un file Traceview

Il documentation dice:

/* 
* Fake method, inserted into dmtrace output when the garbage collector 
* runs. Not actually called. 
*/ 

private static void startGC() {} 

Ma nella mia Traceview vedo qualcosa di simile this: traceview

Il mouse sui quadrati marroni indica che si tratta di metodi VMDebug.startGC() con ciascun metodo che occupa approssimativamente 17 real ms. I quadrati verdi sono BitmapFactory.nativeDecodeAssetFunctions, ciascuno dei quali richiede circa 26 millisecondi reali. In questo segmento di codice sto caricando bitmap per l'importazione come trame OpenGL.

Che cos'è la funzione startGC()?

Ho una credenza basata sul nome della funzione e osservando quando è chiamata che è in qualche modo correlata alla garbage collection, ma la documentazione mi contraddice.

risposta

1

Hai copiato e incollato la descrizione del documento per il metodo startClassPrep() che è inferiore a startGC() nelle origini.

descrizione reale è:

/* 
* Fake method, inserted into dmtrace output when the garbage collector 
* runs. Not actually called. 
*/ 
private static void startGC() {} 

Sembra che il metodo viene utilizzato solo a scopo di debug durante l'esecuzione Traceview.

+0

cos'è "dmtrace output"? (in particolare: che cos'è 'dmtrace')? – PoeHaH

+0

dmtrace è un file di registro di traccia che contiene lo stack di chiamate e viene utilizzato ad esempio da Traceview per visualizzare le chiamate di metodo in Thread, ecc. – pawelzieba

Problemi correlati