Как обнаружить устройство с низкой производительностью во время выполнения, реагирующее на родное

Я хочу обнаружить устройство с низкой производительностью во время выполнения, чтобы отключить сложную lottie анимацию. Я рассматриваю для использования модель устройства от react-native-device-info, но у меня должен быть список высокопроизводительных телефонов.


person Stanislav Mayorov    schedule 11.07.2018    source источник


Ответы (3)


Меня также интересует этот вопрос, и было бы хорошо иметь какое-то решение. Я могу подумать об использовании react-native-device-info и сравнении следующих свойств устройства:

  1. Архитектура ЦП (32/64 бит)
  2. общая доступная оперативная память
  3. общая емкость диска
  4. текущая версия андроида

Возможно, используя эти переменные, мы сможем рассчитать некоторый уровень производительности с не такой уж плохой точностью.

64-битная версия + скажем, не менее 3 ГБ ОЗУ + 32 ГБ емкости + одна из более новых версий Android может быть хорошим признаком того, что устройство должно иметь некоторую мощность внутри.

с другой стороны, 32 бит + 1/2 ГБ ОЗУ + максимальная емкость 8/16 ГБ + не то, чтобы новая версия Android могла привести к проблемам с производительностью.

Серьезно, давайте поговорим об этом :D Может быть, мы сможем найти какой-нибудь хороший компромисс и, возможно, написать библиотеку или внести свой вклад в react-native-device-info с функцией, которая попытается предложить разработчикам производительность устройства.

person sbqq    schedule 07.10.2019

рассмотрите возможность использования версии Android, мы используем эту формулу: low android version === old phone === low performance

производительность может быть низкой, если на устройстве недостаточно памяти, открыто слишком много приложений, какой браузер используется и т. д. это трудно обнаружить

когда это необходимо, вы можете написать небольшой тест производительности в приложении перед анимацией или при загрузке/инициализации приложения, и вы можете использовать эти результаты.

person dvvtms    schedule 11.07.2018
comment
У меня нет хорошего решения, но я хочу добавить, что это ненадежный подход, потому что пользователи могут обновлять довольно старые физические устройства до очень нового Android. - person rrrhys; 29.05.2019

Любой тест можно запустить в фоновом режиме с помощью веб-воркера или библиотеки, например fireball-js. , затем сравните результат.

person Stanislav Mayorov    schedule 04.10.2020