Меня зовут Роб Кристенсен, я - менеджер по продукции Adobe AIR. Во-первых, позвольте мне сказать, что довольно просто создать настольное приложение, независимо от базовой технологии, которая потребляет большой объем памяти и/или не освобождает память.
В следующем выпуске AIR мы рассмотрим возможность предоставления дополнительных возможностей для среды выполнения AIR, чтобы упростить идентификацию утечек памяти для приложений на основе JavaScript. Разработчики, которые строят приложения Flash или Flex, уже могут воспользоваться профилировщиком памяти, включенным в Flex Builder, для отслеживания этого. Мы надеемся сделать что-то подобное для разработчиков JavaScript.
По моему опыту общения с разработчиками, утечки памяти часто возникают, когда объекты в памяти никогда не очищаются. Например, представьте себе клиента Twitter, в котором перечислены твиты пользователей, основанные на ключевом слове поиска. Сверхурочная работа показывает больше результатов, и список становится длиннее. Если нет предела максимальному количеству твитов, видимых, память, конечно, будет расти со временем. Вместо этого приложение должно наложить разумное ограничение на количество элементов, отображаемых в этом списке.
Есть несколько разговоров, в которых описываются лучшие практики обработки памяти в AIR. Хотя примеры в этой статье в основном написаны в ActionScript, те же понятия применимы и к JavaScript.
приложение AIR-Performance Tuning http://www.adobe.com/devnet/air/articles/air_performance.html
Если есть утечка памяти в режиме исполнения, прыгает на них так быстро, как мы можем. Мы рекомендуем разработчикам узнать о таких проблемах, отправив их обратно в нашу команду, используя следующую форму обратной связи (www.adobe.com/go/wish).
Если вы используете фреймворк Ajax, вы можете захотеть выяснить, существуют ли известные проблемы с утечками памяти для этой конкретной структуры.
Итак, в общем, да, вы должны всегда беспокоиться о памяти при создании настольного приложения - будь то AIR или C++. По мере разработки приложения вы должны следить за использованием памяти вашего приложения, чтобы вы могли выявить любые проблемы раньше, чем позже.Один из способов сделать это - запустить тесты на долголетие - держите приложение открытым в течение ночи, чтобы узнать, ползет ли память.
В общем, инструменты, доступные для браузеров, также очень ограничены. Я ожидаю, что это скоро изменится, поскольку разработчики браузеров также начнут предоставлять больше крючков в свои браузеры для идентификации использования памяти. Надеюсь это поможет.
Спасибо!
Роб
менеджер по продукции Adobe AIR
Worry? Да. Что-нибудь о чем? Неа. –
добавил вопрос :) –