javascript - Возможно ли, чтобы веб-сайт нагревал устройство Android и вызывал более быструю разрядку батареи?



angularjs performance (2)

Я занимаюсь разработкой веб-сайта, который представляет собой одностраничное приложение (построенное на AngularJS).

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

Технологии, используемые для разработки.

Для серверной части - PHP / Codeigniter

Для переднего конца - угловой JS

У меня также есть много кодов, написанных на нативном Javascript.

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


Answer #1

Есть много факторов, например:

  • Анимации, вызывающие многократное перекрашивание
  • Если у вас много наблюдателей, частые обновления будут вызывать много работы для выполнения циклов дайджеста
  • Поддержание TCP-соединения также очень дорого, поэтому, если вы запросите у своего внутреннего сервера оперативные данные, это повредит на мобильном устройстве (другой пример - сбор аналитических данных, таких как клики, и их немедленная отправка на сервер)

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

Не существует решения, которое применимо к каждому случаю: если вы хотите сэкономить батарею своего клиента, вы можете профилировать свое приложение, посмотреть, какие части кода дороги, и решить, нужно ли их выполнять на мобильных устройствах.

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


Answer #2

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

  • Вы можете обрабатывать их локально, на стороне сервера
  • вы можете обработать их удаленно, отправив их на клиентскую сторону

Последние, в основном при плохой кодировке, могут генерировать высокую и постоянную загрузку ЦП на стороне клиента, что приводит к горячему устройству и быстрому разряду батареи.





performance