7
它說invoke-virtual
是調用虛擬方法,而invoke-direct
是直接的方法。android中的invoke-virtual和invoke-direct有什麼區別
但是我不清楚什麼是「虛擬方法」,什麼是「直接方法」?
換句話說,什麼樣的方法調用invoke-virtual
和什麼樣的將是invoke-direct
?
任何人都可以舉一些具體的例子嗎?
在此先感謝。
它說invoke-virtual
是調用虛擬方法,而invoke-direct
是直接的方法。android中的invoke-virtual和invoke-direct有什麼區別
但是我不清楚什麼是「虛擬方法」,什麼是「直接方法」?
換句話說,什麼樣的方法調用invoke-virtual
和什麼樣的將是invoke-direct
?
任何人都可以舉一些具體的例子嗎?
在此先感謝。
從http://source.android.com/devices/tech/dalvik/dex-format.html,直接方法是「任何靜態,私人或構造函數」。
但是,靜態方法會獲得自己的invoke-static操作碼,因此invoke-direct用於構造函數和私有方法。
鏈接已經死亡 – Bugster
修復了鏈接,謝謝。 – JesusFreke
我相信鏈接應該是http://source.android.com/devices/tech/dalvik/dalvik-bytecode.html。看看'invoke-kind'部分。 –