2016-05-26 9 views
7

Una delle nuove funzionalità di android studio 2.2 preview 1 è APK Analyzer e quando si prova che le statistiche danno Defined Methods e Referenced MethodsQual è la differenza tra i metodi definiti e metodi si fa riferimento in studio di Android Apk Analyzer

output di esempio:

Questo file dex definisce 4118 classi con 28823 metodi e riferimenti 35206 metodi

+2

AFAIK, "metodi definiti" indica "metodi per i quali si dispone del codice", indipendentemente dal fatto che siano stati scritti dall'utente o siano stati raccolti da una libreria. "Metodi di riferimento" si riferisce ai metodi in altri file DEX (ad esempio, l'SDK di Android) a cui fa riferimento il codice. – CommonsWare

+0

ma come sapere il numero totale di metodi che il progetto contiene? è che la somma di definita + Ref o solo il metodo di riferimento conta? – MrDroid

+0

"ma come sapere il numero totale di metodi che il progetto contiene?" - Dipende interamente da come scegli di definire "contenere". Definirei "contenere" come metodi definiti, non come riferimenti. Ad esempio, in un programma desktop Windows, non diresti che la tua app conteneva tutti i Windows, anche se hai chiamato funzioni nell'SDK di Windows. Non diresti nemmeno che la tua app contenesse le funzioni di Windows SDK che hai chiamato. Allo stesso modo, il fatto che chiami metodi "di riferimento" nell'SDK di Android non significa che la tua app contenga quei metodi. – CommonsWare

risposta

2

I metodi definiti sono metodi scritti o che si utilizzano correttamente in base alla situazione specificata. Se si fa riferimento a un metodo, significa solo che tu (o altri metodi/oggetti nel tuo codice) li stai chiamando. Tuttavia, solo perché un metodo è referenziato non significa che il loro è qualcosa definito per esso, o potrebbe essere definito in modo errato. Se ad esempio stai usando librerie open source che potrebbero essere state installate in modo errato (ho fatto in questo modo troppe volte) avrai un sacco di metodi di riferimento con niente definito per loro. Spero possa aiutare!

Problemi correlati