我想使用firebase auth with native for Login,Signup但是我得到了一个黄色错误:
长时间(即多分钟)设置计时器是Android上的性能和正确性问题,因为它使计时器模块保持唤醒状态,并且只有在应用程序位于前台时才能调用计时器.有关详细信息,请参阅(https://github.com/facebook/react-native/issues/12981).(看到setTimeout,持续时间为111862ms)
我该如何解决这个问题?
我不想忽视这一点,我想理解这个错误并用最好的标准方式解决这个问题.
这是我的代码:
export default class Login extends Component {
constructor(props) {
super(props)
this.state = {
email: '',
password: '',
response: ''
}
this.signUp = this.signUp.bind(this)
this.login = this.login.bind(this)
}
async signUp() {
try {
await firebase.auth().createUserWithEmailAndPassword(this.state.email, this.state.password)
this.setState({
response: 'Account Created!'
})
setTimeout(() => {
this.props.navigator.push({
id: 'App'
})
}, 1500)
} catch (error) {
this.setState({
response: error.toString()
})
}
}
async login() {
try {
await …Run Code Online (Sandbox Code Playgroud) 我的应用程序中收到了很多这些黄色警告。特别是在我使用 firebase/firestore SDK 的部分代码中:
将计时器设置为长时间(即几分钟)是 Android 上的性能和正确性问题,因为它会使计时器模块保持唤醒状态,并且计时器只能在应用程序处于前台时调用。有关更多信息,请参阅https://github.com/facebook/react-native/issues/12981。(看到持续时间为 529480 毫秒的 setTimeout)
我已经阅读了几个关于这个主题的主题:
反应本机警告:“设置一个很长一段时间的计时器......”。如何定位原因?
https://github.com/facebook/react-native/issues/12981
有人说没什么,只是压制警告。有人说这很重要,应该处理。
在其中一些线程中,有人提到这个包:https : //www.npmjs.com/package/react-native-firebase实际上可以解决问题。
1- 如果我只是抑制它们而什么都不做,这些计时器会导致什么类型的问题?
2-这里的确切问题是什么?我的移动本机应用程序的电池电量耗尽?
3-消息说“它使计时器模块保持唤醒状态,并且只能在应用程序处于前台时调用计时器”这里指出的问题是什么?所以即使它在后台,应用程序也会让计时器模块保持唤醒状态?并且保持唤醒没有用,因为当应用程序在后台时无法调用计时器?这个唤醒定时器模块会耗尽电池电量吗?
4- 我们在这里谈论的性能/电池排水效果有多大?
5- 当应用程序处于后台/前台时,是否可以在代码中手动关闭/打开这些计时器?这将是一个实际的解决方案吗?
6- 你认为/知道这个 react-native-firebase 包是否真的能处理这种情况吗?
非常感谢。