Closed hanchanpo13 closed 4 years ago
因为在实际的项目中,多次遇到参数类型被优化的现象,所以采取的方式是在 onMethodEnter 的时候进行相关参数的保存,以便插入代码的时候正确读取使用。
因为在实际的项目中,多次遇到参数类型被优化的现象,所以采取的方式是在 onMethodEnter 的时候进行相关参数的保存,以便插入代码的时候正确读取使用。 感谢解惑,但是我实在想不出,一个被调用了的参数(至少我们插入的代码调用了),会被优化掉
@hanchanpo13 你可以了解下字节码的相关知识,一般这种情况的出现都是为了降低字节码文件的大小。比如混淆也有类似的功能。
https://github.com/sensorsdata/sa-sdk-android-plugin2/blob/f9fb081164831338a556e16d196efa2dd8aa65ce/plugin/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsClassVisitor.groovy#L227