天天看点

JAVA中,如果发现一个值起作用,却又没找到哪里使用,检查一下是否有native/JNI中反射

 字位置错了,于是跟踪。考虑了几个方案:

  • 检查哪里绘制。
  • 检查哪里调整。
  • 检查位置传递路径。

 前述两个方案都没下文,于是考虑第三个方案。把坐标增加一下,字位置同时增加。于是一路跟踪,到了一个类:

  • 本类中其他地方用到了,在使用处增加,位置不变。
  • 在传递位置增加,位置变化。
  • 改成private,也不报错,说明别处没用到。

  真是奇怪了。反复确认了结果后,就猜测一个可能:是不是native/JNI通过反射使用了?两个查找方法:

  • 搜索是否有反射本类。
  • 把字段改名看看。

  果然是有类进行了反射。