数学在我的Android应用程序中被破坏了';s的最新更新

数学在我的Android应用程序中被破坏了';s的最新更新,android,Android,不确定是否相关,但我正在使用LibGDX并在googleplay上维护一个长期存在的应用程序 在最近的一次更新中,我开始收到零星的随机崩溃。他们都是这样的: 原因、设备或操作系统似乎没有共同点(但只有Android 9和10) 所讨论的代码从未改变,已经存在多年了。底层的表/单元格(LibGDX)代码也基本相同,没有改变。以下是导致问题的线路: Table importTable = new Table(); importTable.pad(0).align(Align.center); im

不确定是否相关,但我正在使用LibGDX并在googleplay上维护一个长期存在的应用程序

在最近的一次更新中,我开始收到零星的随机崩溃。他们都是这样的:

原因、设备或操作系统似乎没有共同点(但只有Android 9和10)

所讨论的代码从未改变,已经存在多年了。底层的表/单元格(LibGDX)代码也基本相同,没有改变。以下是导致问题的线路:

Table importTable = new Table();
importTable.pad(0).align(Align.center);
importTable.defaults().pad(0).space(0).spaceRight(10 * App.assetScaling).expandX();
功能:

/** The space cannot be < 0. */
public Cell<T> spaceRight (float spaceRight) {
    if (spaceRight < 0) throw new IllegalArgumentException("spaceRight cannot be < 0: " + spaceRight);
    this.spaceRight = Fixed.valueOf(spaceRight);
    return this;
}
/**空格不能小于0*/
公共单元格间隔灯(浮动间隔灯){
如果(SpaceLight<0)抛出新的IllegalArgumentException(“SpaceLight不能<0:+SpaceLight”);
this.spacelight=固定的.valueOf(spacelight);
归还这个;
}
具体来说,代码
spacelight(10*App.assetScaling)

App.assetScaling
1.0f或0.5f,在应用程序创建时设置。它永远不会改变。这段代码在应用程序启动后立即运行,因为它正在创建菜单等等

这是如何计算为<0的?或者,正如错误报告所示,它实际上是“基本为0”,只是有一些浮点错误。编号
App.assetScaling
从未设置为不0.5f或1.0f

对于受此困扰的人来说,他们无法启动应用程序,因为它一直在崩溃。但是,卸载/重新安装后,它已修复


编译/应用程序更新(缓存?…)是否有任何可能导致数学“中断”的警告?这个错误在几次更新前不知从何而来,后来我推出了其他更新,这次崩溃似乎正在减少,但并没有完全消失…

您是否确认在请求值之前您认为正确的是
App.assetScaling
?是否可以在您发出请求后定义或设置
App.assetScaling
?也就是说,检查值是否正确,不要信任它。