android中的invoke-virtual和invoke-direct有什么区别?

它说, invoke-virtual是调用虚拟方法,而invoke-direct是直接的方法。

但是我不清楚什么是“虚拟方法”,什么是“直接方法”?

换句话说,调用什么样的方法将会invoke-virtual ,哪种invoke-direct将直接invoke-direct

谁能给一些具体的例子?

提前致谢。

Solutions Collecting From Web of "android中的invoke-virtual和invoke-direct有什么区别?"

http://source.android.com/devices/tech/dalvik/dex-format.html ,直接的方法是“任何静态,私人或构造函数”。

但是,静态方法获得自己的invoke-static操作码,所以invoke-direct用于构造函数和私有方法。