оптимизация создания объекта в javascript на мобильном телефоне - PullRequest
0 голосов
/ 14 марта 2012

Я вижу много кода в некоторых популярных библиотеках Javascript, которые часто создают новые объекты и отказываются от старых, как здесь (это из https://github.com/nefD/impact-tween): if ( this.tweens.length > 0 ) { var currentTweens = []; for ( var i = 0; i < this.tweens.length; i++ ) { this.tweens[i].update(); if ( !this.tweens[i].complete ) currentTweens.push(this.tweens[i]); } this.tweens = currentTweens; Мой вопрос к экспертам: не мешает ли это производительности?сравнительно медленных мобильных приложений, созданных с использованием Javascript. Я имею в виду, будет ли повторное использование существующих объектов оказывать существенное влияние на производительность?

Это теоретический вопрос, я знаю, что если я хочу ускорить мойЯ должен найти узкое место в своем коде и оптимизировать его, а не теоретизировать о производительности в целом.

Ответы [ 2 ]

1 голос
/ 14 марта 2012

Если вы можете, вы должны повторно использовать как элементы DOM, так и объекты JS.

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

В презентации Эстель Вейль из Velocity EU есть несколько слайдов по этому вопросу - http://standardista.com/velocity/#slide1

0 голосов
/ 14 марта 2012

В общем узкое место в DOM.Это в 10-100 раз медленнее, чем в настольных браузерах.

Я часто вижу сайты без мобильной версии, которые рендерится примерно на секунду на моем iPhone 3G.Последний имеет 400 МГц процессор и даже некоторое ускорение на GPU AFAIK.Это не сетевое отставание, я говорю только о моем собственном WiFi.

Повторное использование элементов DOM может все еще улучшить производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...