我正在尝试基于 .smali 文件生成调用图。但是,我遇到了一个令人困惑的情况,如下所示:
.super Landroid/graphics/drawable/Drawable;
.source "SBarExp.java"
.method public final setBounds(Landroid/graphics/Rect;)V
.line 514
iget-object v2, p0, Lcom/sds/android/ttpod/app/modules/skin/view/SeekBarExpansion$a;->b:Landroid/graphics/drawable/Drawable;
invoke-virtual {v2, p1, v0, p3, v1}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
.line 515
invoke-super {p0, p1, v0, p3, v1}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
.end method
根据我的理解,“invoke-super”只是意味着它会调用一个父方法,所以“invoke-super {p0, p1, v0, p3, v1}, Landroid/graphics/drawable/Drawable;->setBounds( IIII)V”可以解释为“Landroid/graphics/drawable/Drawable;->setBounds(IIII)V”?
如果是,我想知道“invoke-virtual {v2, p1, v0, p3, v1}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V” 是否与“invoke-super { p0, p1, v0, p3, v1}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V"?
如果不是,有什么区别?如果是,为什么它两次调用相同的方法(使用不同的方式)?
请帮忙,非常感谢!