2013-07-19 16 views
7

它說invoke-virtual是調用虛擬方法,而invoke-direct是直接的方法。android中的invoke-virtual和invoke-direct有什麼區別

但是我不清楚什麼是「虛擬方法」,什麼是「直接方法」?

換句話說,什麼樣的方法調用invoke-virtual和什麼樣的將是invoke-direct

任何人都可以舉一些具體的例子嗎?

在此先感謝。

回答

17

http://source.android.com/devices/tech/dalvik/dex-format.html,直接方法是「任何靜態,私人或構造函數」。

但是,靜態方法會獲得自己的invoke-static操作碼,因此invoke-direct用於構造函數和私有方法。

+0

鏈接已經死亡 – Bugster

+1

修復了鏈接,謝謝。 – JesusFreke

+0

我相信鏈接應該是http://source.android.com/devices/tech/dalvik/dalvik-bytecode.html。看看'invoke-kind'部分。 –

相關問題