Ich denke nicht, dass instanceof
eine stärkere Auswirkung auf die Dalvik VM hat, die der JVM entgegengesetzt ist.
Wenn Sie Zweifel haben, können Sie selbst sehen, wenn Sie Ihre Anwendung mit einem Tool namens Allocation Tracker ausführen, das standardmäßig als Werkzeug für die DDMS verwendet wird.
Ich fand, dass instanceof meistens schneller ist (etwa 60-85% der Zeit). Dieser Prozentsatz fällt jedoch ab, wenn das Telefon mit Hintergrundaktivität (z. B. GC, Berühren, Tasten, Schütteln usw.) konfrontiert wird, aber instanceof über 50% der Zeit schneller bleibt. Wenn die Anzahl der Zyklen sehr groß ist (d. H. & Gt; 1000000), ist die Anzahl der Zyklen fast immer schneller. Die Reihenfolge, in der die beiden while-Schleifen dargestellt werden (d. H. Zuerst die instanceof-Schleife und dann die Feldüberprüfungsschleife), beeinflusst die Ergebnisse, aber instanceof bleibt am schnellsten.
%Vor%Tags und Links android garbage-collection instanceof performance dalvik