Executando verificação de segurança...
1

APP React native fecha ao ser colocado em segundo plano

Pessoal, alguém aqui manja bem do react native?
Meu App está com o seguinte comportamento:

Abro ele e deixo em segundo plano enquanto em navego em outros aplicativos. Quando eu retorno pro App ele dá um reload e fecha.

Já ouvi falar em gerenciamento de estado, mas não sei se é o caso nem achei nada aprofundado que ajude quem não tanta experiência com a tecnologia.

Alguém poderia me orientar?

Carregando publicação patrocinada...
2

Quando um aplicativo é colocado em segundo plano, o sistema operacional pode decidir liberar recursos, incluindo memória, para priorizar outros aplicativos em execução ou o sistema em si. Se o dispositivo estiver com pouca memória disponível e o aplicativo estiver ocupando uma quantidade significativa dela, é possível que o sistema force o encerramento do aplicativo em segundo plano para liberar recursos.

Para lidar com esse problema, aqui estão algumas medidas que você pode tomar:

Otimização de Memória: Procure maneiras de otimizar o uso de memória do seu aplicativo. Isso pode incluir a redução do número de recursos carregados em memória de uma só vez, o uso eficiente de cache e a liberação de recursos não utilizados.

Monitoramento de Vazamentos de Memória: Verifique se não há vazamentos de memória em seu aplicativo que possam estar consumindo recursos desnecessários ao longo do tempo. Ferramentas de monitoramento de vazamentos de memória, como o React Native Debugger ou o Instruments no iOS, podem ser úteis para identificar e corrigir esses problemas.

Gestão de Estado Eficiente: Um gerenciamento eficiente do estado pode ajudar a reduzir o consumo de memória do aplicativo, garantindo que apenas os dados necessários sejam armazenados em memória.

Assim você pode reduzir a probabilidade de que o aplicativo seja fechado em segundo plano devido à falta de memória. é éimportante observar que, em dispositivos com recursos limitados, como dispositivos mais antigos ou com menos memória RAM, pode ser mais difícil evitar completamente esse problema. Nesses casos, uma abordagem pragmática de otimização e gerenciamento de recursos pode ser necessária.

1

Provavelmente seu app tá usando tantos recursos que o próprio sistema operacional está fechando para poder executar outras aplicações.

Pela pergunta sobre gerenciamento de estado você me parece bem iniciante, React Native pode ser desafiador demais para quem nao tem experiência nenhuma. Pq escolheu ele?

1

Eu escolhi ele porque já desenvolvo pra Web faz um tempo, me sinto confortável com a sintaxe.
Já tentei Flutter, mas não me acostumei com aquele código enorme difícil de entender e com tantos widgets dentro de outro.

1

Se senti confortavel com a sintaxe do react e quiser outra opção, pode ver sobre o Ionic, no site https://ionicframework.com/ foi minha primeira alternativa em desenvolvimento hibrido quando estava começando, pela sua simplicidade, na epoca era so com angular mas agora suporta vue e react.

Não responde a sua duvida, mas é uma opção para mobile que na minha opnião considero mais simples que react native, a curva de aprendizado é pequena e tem muitas coisas pre prontas, é o bootStrap do hibrido mobile.

1

Não sei exatamente que tipo de comportamento você está querendo alcançar, mas você pode tentar utilizar background tasks com RN. Porém já é um conceito um pouco mais avançado.

Quanto ao recarregar quando abre outro app, possa ser a própria memória od seu aparelho ou realmente estar usando muitos recursos e obrigando o sistema fechar o app pra rodar outraas aplicações como o user1 mencionou.

Sugiro testar em outros dispositivos diferentes, iOS e Android pra garantir o mesmo comportamento, ai você parte daí pra solucionar.

1

Isso é nativo do Android na falta de memoria ele fecha apps em segundo plano, se você precisa que seu app fique aberto você precisa verificar o service de foreground do Android e como implementar no react native, infelizmente gerencia de estado não se relaciona e nem resolveria , já enfrentei questões similares com flutter e é comum essas situações mesmo

1