Память javascript
Возник странный вопрос.
Например есть у меня проект с использованием require.js, и я в этом проекте постоянно подгружаю по запросам новый javascript, и новые шаблоны. Они сохраняются куда то в память, что будет , когда я подгружу слишком много шаблонов/javascriptов? Есть какой-то лимит же? |
все зависит от того, какой код. Чтобы GC нормально освобождал память, надо следить, чтобы не было ненужных ссылок на объекты. Если на объект несколько ссылок он не удалится. Особенно опасны в этом смысле замыкания
o = {} foo = function(o){ return function(){}}(o) delete o // пока существует foo, о висит в памяти Больше используй делегирование, не используй миксины и замыкания бездумно, следи чтобы ненужные ссылки всегда удалялись, в этом ключе, короче. А четкого лимита никакого нет, кроме системного, все зависит от конкретной машины. Просто будет все тормозить, и зависать, если не упадет |
Цитата:
|
Цитата:
Это все понятно. Я имел несколько другое ввиду. Вот нашел что-то похожее на мой вопрос, http://stackoverflow.com/questions/3...ed-to-conserve |
Цитата:
|
Тебя не мемори должна волновать, а сама жаба скрипучая. Браузер может зохавать таблицу с картинками на несколько тыщ строк и даже десятков тыщ и тащемта будет крутиться, а вот жирные и тупые скрипты даже при небольшом их числе, запросто умудряются завесить к чертям что угодно.
|
Цитата:
Интересн как раз стал вариант, когда я пишу на фреймворке (в конкретном случае - knockout.js + использую компоненты и require.js для их подгрузки, компоненты - это пары из шаблона + соответствующий шаблону js код). И процесс работы скрипта такой, что постоянно по требованию подгружаются эти компоненты, соответственно и возник вопрос, что будет, если приложение станет очень большим, я же постоянно буду ,пускай и не сразу, но постепенно подгружать компоненты. |
te1,
require.js вставляет скрипты динамически, при этом скрипты сохраняются на клиенте при последующем запросе скрипт берется уже с кеша клиента, не дергая ваш сервер |
Poznakomlus,
А какое это имеет отношение к вопросу? |
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 21:27. |