react-native 中 release的两种情况

1,028 阅读2分钟

在开发中我遇到一个很奇怪的现象。开发过Android的大部分都是知道的,即便是在release情况下,仍然是可以打印日志的。就是因为这个引发的一场事故,导致弄了几天。

我们原本有这样的需求,也就是app置于后台仍然能做对应的逻辑,因为react-native官方提供的定时器在置于后台的时候就不能工作了(在调试的时候就不能工作),所以就找了一个第三方的插件,可以在当应用置于后台的时候仍然可以继续执行对应的逻辑。然后就找到了react-native-background-timer这个定时器的库,这个库官方说明是可以做到置于后台能正常工作的库,下面给出这个库的github地址:github.com/ocetnik/rea…。经过我的测试,发现当我app置于后台以后的确能继续执行定时器里面的逻辑,当然这个测试是在开发环境下通过打印日志的方式进行的,发现打印日志是正常的。

但是当我在release模式下,发现并不能继续工作。

其实到目前位置我还是不相信不能使用的,但是我测试了很多次,事实就是这样。

原本我使用debug和release看日志没什么问题,于是后面的工作都是在这个成立的基础上进行,但是中间遇到的有一些问题,始终不明白,最后排除了其他原因,才想到再次验证这个定时器的问题。

结果验证的时候发现,插上线,使用android studio能看日志的release情况和直接不插入线的release情况,插入线的情况仍然能正常工作,当拔掉线的时候就出现了不能工作。其实这只是现象,真正的原因我到现在都没有找到。

以后我打算尝试一下使用android原生来看看,是不是原生提供的定时器也是这样的问题?或者说这并不是问题,而且设计者就是这样设计的。