什么';android中调用虚拟和调用直接的区别是什么
它说,什么';android中调用虚拟和调用直接的区别是什么,android,dalvik,smali,Android,Dalvik,Smali,它说,invoke virtual正在调用virtual方法,而invoke direct是直接方法 然而,我不清楚什么是“虚拟方法”,什么是“直接方法” 换句话说,什么样的方法调用将是invoke virtual,什么样的方法调用将是invoke direct 有人能给出一些具体的例子吗?从中,直接方法是“任何静态、私有或构造函数” 但是,静态方法有自己的invoke staticopcode,因此invoke direct用于构造函数和私有方法。我认为应该使用链接。查看invoke kind
invoke virtual
正在调用virtual方法,而invoke direct
是直接方法
然而,我不清楚什么是“虚拟方法”,什么是“直接方法”
换句话说,什么样的方法调用将是invoke virtual
,什么样的方法调用将是invoke direct
有人能给出一些具体的例子吗?从中,直接方法是“任何静态、私有或构造函数”
但是,静态方法有自己的
invoke static
opcode,因此invoke direct
用于构造函数和私有方法。我认为应该使用链接。查看invoke kind
部分。旧链接和新链接都指向dex-format.html文档,其中包含我在“direct_methods”部分的文档中包含的引用。dalvik-bytecode.html在invoke direct的文档中也包含类似的语言。