React Native State Updates, не отраженные в режиме PIP с новой архитектуройAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 React Native State Updates, не отраженные в режиме PIP с новой архитектурой

Сообщение Anonymous »

Я столкнулся с проблемой с обновлениями состояния, не отражающимися в режиме изображения в картине (PIP), начиная с RACE Native 0.76, который, как я считаю, связана с новой архитектурой (ткань), включенной по умолчанию. PrettyPrint-Override ">import BackgroundTimer from 'react-native-background-timer';
import React, { useState, useEffect } from 'react';
import { View, Text, StyleSheet } from 'react-native';

const App = () => {
const [count, setCount] = useState(0);

useEffect(() => {
const intervalId = BackgroundTimer.setInterval(() => {
setCount(prevCount => prevCount + 1);
}, 1000);

return () => BackgroundTimer.clearInterval(intervalId);
}, []);

return (

{count}

);
};

const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
counter: {
fontSize: 48,
fontWeight: 'bold',
},
});

export default App;
< /code>
Этот пример работает совершенно хорошо в React Native 0,75 и ниже. Однако в версии 0.76 и выше (с включенной новой архитектурой) состояние не обновляется после того, как приложение переходит в режим PIP. < /P>
💡 Важные примечания: < /p>

Код выше-это просто упрощенный пример, чтобы воспроизвести проблему. /> Я обновляю состояние (например, изменение размера видеоплеера) при переходе на режим PIP, что приводит к искаженному пользовательскому интерфейсу. < /li>
Отключение новой архитектуры не является вариантом для меня. Видео

React Native 0.76 Video < /p>
Существуют ли рекомендуемые обходные пути или исправления, чтобы гарантировать, что обновления состояния продолжают работать в режиме PIP с новой архитектурой? Спасибо! < /P>
Я создал минимальный воспроизводимый пример, используя реакцию-родственные земли-timer для имитации непрерывных обновлений состояния (простой счетчик, который увеличивает каждую секунду). Это должно было убедиться, что обновления состояния работают правильно в режиме PIP в различных нативных версиях React. < /P>
Что я ожидал: < /p>

Счетчик должен сохранять увеличение даже после того, как приложение входит в режим изображения в картине, точно так же, как это происходит в версиях до 0.76. />
В RACE Native 0,75 и ниже все работало, как и ожидалось - счетчик продолжал обновляться в режиме PIP. < /li>
В React Native 0,76 и выше (с новой архитектурой включена), счетчик останавливает обновление, как только приложение входит в режим PIP. введено в 0,76, возможно, из -за того, как обновления реагирования обрабатываются, когда приложение входит в фоновое состояние PIP.

Подробнее здесь: https://stackoverflow.com/questions/795 ... chitecture
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»