Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.02.2010, 23:32
dp_ dp_ вне форума
Интересующийся
Отправить личное сообщение для dp_ Посмотреть профиль Найти все сообщения от dp_
 
Регистрация: 22.02.2010
Сообщений: 10

Управление выделением памятью
Доброго времени суток!
Как решить проблему с освобождением памяти выделенной браузером под функции произвольного объекта? Освободит ли память сборщик мусора если присвоить функции значение = undefined?
Ответить с цитированием
  #2 (permalink)  
Старый 22.02.2010, 23:39
dp_ dp_ вне форума
Интересующийся
Отправить личное сообщение для dp_ Посмотреть профиль Найти все сообщения от dp_
 
Регистрация: 22.02.2010
Сообщений: 10

или воспользоваться оператором delete?
Ответить с цитированием
  #3 (permalink)  
Старый 23.02.2010, 00:02
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Явно управлять процесом высвобождения памяти на JS Вы не сможете. К примеру, FF часто не отдает уже забранную память, использую ее для своих нужд, но в систему уже не возвращая.
delete переменные не удаляет. Поэтому, undefined или null. И опять же, сборщик удалит ненужные данные лишь тогда, когда на них не будет ни одной ссылки.
Ответить с цитированием
  #4 (permalink)  
Старый 23.02.2010, 00:55
dp_ dp_ вне форума
Интересующийся
Отправить личное сообщение для dp_ Посмотреть профиль Найти все сообщения от dp_
 
Регистрация: 22.02.2010
Сообщений: 10

delete function
ИХМО function в JavaScript являются объектами в связи с этим было бы логично использовать к ним оператор delete для освобождения памяти. поправте меня если я ошибаюсь. к сожалению я не знаю способа проверить высвобождение памяти в лисе. ни способом установления в null не с помощью оператора delete.
Ответить с цитированием
  #5 (permalink)  
Старый 23.02.2010, 09:14
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Ну, попробуйте применить delete к функции. Получилось? Можно так:
function foo() {
    // многа букаф
}
// ...
foo = null; // а теперь нет у нас больше функции foo
Ответить с цитированием
  #6 (permalink)  
Старый 23.02.2010, 09:52
dp_ dp_ вне форума
Интересующийся
Отправить личное сообщение для dp_ Посмотреть профиль Найти все сообщения от dp_
 
Регистрация: 22.02.2010
Сообщений: 10

function delete
Да функции нет Вы правы но как убедится что сборщик мусора действительно освободил память
Ответить с цитированием
  #7 (permalink)  
Старый 23.02.2010, 10:13
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Ctrl-Shift-Esc, потом «О зловредный браузер, отдай раму системе православной!»
Серьёзно -- никак. JS средств для этого не предоставляет.
Ответить с цитированием
  #8 (permalink)  
Старый 23.02.2010, 10:18
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

Сборщик мусора автоматически освобождает все занятые блоки, на которые нет ссылок. В лисе это делается с некоторым запозданием (видимо, есть некий пул временно свободных блоков, которые могут внезапно стать нужными, если, допустим, происходит создание и удаления объектов в цикле). В остальных браузерах память освобождается практически сразу (хотя, не исключено наличие подобного или др. механизмов).
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с выделением В IE Stayer Internet Explorer 2 16.02.2010 12:07
Управление фоном через скрипт, находящийся в body Amberwood Общие вопросы Javascript 3 19.10.2009 22:52
Управление как в IPhone Alerto Элементы интерфейса 16 29.06.2009 09:13
управление DOM из FLASH Device Events/DOM/Window 2 30.04.2009 12:15
Управление политикой одного источника (Кроссдоменный доступ) yuri201 Internet Explorer 5 10.01.2009 12:25