У меня такая же проблема при разработке приложения, которое использует много доступных png-файлов в макете. Я также попытался максимально оптимизировать свой код .. но это не сработало для меня. Тогда я попытался уменьшить размер этих png .. и угадать, что он работает абсолютно нормально. Поэтому мое предложение - уменьшить размер доступных ресурсов, если они есть ..
Для этого сегодня не существует специального способа реагирования. Вы должны выполнить это с родной стороны.
Кроме того, вы разрабатываете для iOS? Apple заявила, что приложения не должны закрываться.
Я слишком поздно отвечаю на вопрос, но я подумал, что способ, который я выбрал, может помочь кому-то, поэтому я отвечаю на этот вопрос.
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.backPressed);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.backPressed);}
backPressed = () => {
Alert.alert(
'Exit App',
'Do you want to exit?',
[
{text: 'No', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
{text: 'Yes', onPress: () => BackHandler.exitApp()},
],
{ cancelable: false })
return true;
}
Для Android используйте BackAndroid для выхода из приложения:
import React, {
BackAndroid,
} from 'react-native';
BackAndroid.exitApp();
BackAndroid
с тех пор устарел в пользу BackHandler
(см. facebook.github.io/react-native/docs/backhandler.html )
– Bataleon
13 September 2017 в 07:59
Вот как я достиг:
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
}
handleBackButtonClick() {
BackHandler.exitApp();
return true;
}
Напишите собственный модуль, который выполняет следующие действия при вызове:
IOS:
exit(9);
ANDROID:
((YourApplication) self.getApplicationContext()).kill();
... EDIT ...
Или просто используйте тот, который я создал: https://www.npmjs.com/package/react-native-exit-app