Proguard 删除方法参数

Proguard deletes method parameters

最近我发现 ProGuard 很奇怪。我有这个代码片段

如您所见,方法 showTipHoodLock 有 2 个参数,fragmentManagertop (一些偏移量)

但是在我使用 minifyEnabled true

编译应用程序之后

我在点击回调时得到了这个

这是Utils.showTipHoodLock方法

如您所见,proguard 从方法签名中删除了第二个参数(名为 top),并将它的出现替换为 0 文字。

这是错误、功能,还是我遗漏了什么?

P.S. 如果我更改行

中的值
int coords[] = {0, 0}

任何其他数字,然后一切正常,没有任何内容被删除。此外,应用程序不同部分(其他片段)中的相同代码片段(copy-pasted)开始工作。

Is it a bug, or a feature, or did I miss something?

不是 错误,这是一个 功能 来优化您的代码。

根据您的代码,第二个参数被以下逻辑引用为 READ ONLY 并且其值为 FIXED 0

Proguard 将使用此 KNOWN FIXED 值以简化调用流程。