我正在调试一个 Android 应用程序,我看到在 Eclipse 调试 View 中单步执行:
int bottom, right;
bottom = 800;
right = 480;
float h ,v;
h = right/86.0f;
v = bottom/116.0f;
调试 View 上的值表明 h = 86.0 且 v = 116.0
所以调试器显示了正确的值?什么可以实现这一点?
提示 1:如果我将文字 86.0f 更改为 54.0f,则 h = 54.0,v 也是如此
提示 2:当应用程序运行良好时,这些值在调试 View 中是正确的,但当应用程序运行良好时,这些值在调试 View 中是正确的(捕获异常、应用程序完成和 SEGV_MAPERR ),这似乎是在此代码之后很长时间发生的,并且受到使用此错误值的影响h 和 v。
最佳答案
我不太确定,但似乎我遇到了 Dalvik 限制。稍微修改了一下代码,出现了一个VerifyError,这让我看到this link 。在减少我的较大方法中的变量数量并将它们拆分后,问题似乎消失了。
关于java - 变量和运算符在赋值中似乎被忽略。什么可以使这一切发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389917/