У меня есть веб-приложение, которое содержит огромное количество сгенерированного JavaScript. Потребление памяти отличается в 6 раз при запуске веб-приложения в Chrome на рабочем столе по сравнению с запуском веб-приложения в UIWebView
на (обновленном) iPad.
Каких конструкций или шаблонов следует избегать, чтобы потребление памяти в iOS было наравне с Chrome?
Характеристика сгенерированного JavaScript:
- Код генерируется Haxe.
- Код является "объектно-ориентированным" в том смысле, что он активно использует
prototype
, но цивилизованно. - В коде интенсивно используются именованные индексы объектов JavaScript для реализации хэш-таблиц.
- Есть много строк, но почти нет конкатенаций строк.
Утечек памяти не наблюдается; чрезмерное потребление памяти в iOS проявляется сразу после создания (фиксированного набора) объектов Javascript.
v8
иjavascriptcore
к тегам, чтобы эксперты по этим двум JS-движкам могли оценить ситуацию. - person Ed Ballot   schedule 28.08.2015