![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
GC умеет дефрагментировать память? Где об этом можно подробнее узнать?
|
|
|||||
|
Modus ponens
|
Нет, это не задача GC, но эти процессы не могуть быть не связаны, т.как если GC высвобождает память, то если у нас все объекты не одинакового размера, то рано или поздно наступит момент, когда количество "дырок" т.е. неиспользуемых участков памяти будет очень большим. Легче всего это представить, как тетрис
GC это когда вы заполнили ряд, a фрагментация, это когда в ряду остались "дырки". Я чесно не знаю, как именно флеш дефрагментирует свою память, но если бы он этого не делал вообще, то любая флешка запущенная долгое время отъедала бы все больше и больше ресурсов. И в итоге флеш не любили бы еще больше ![]()
__________________
Hell is the possibility of sanity |
|
|||||
|
стервочка (я мужик)
|
wvxvw, а зачем делать то, что ты описываешь? есть специальные блоки памяти, под разные объекты. локальные переменные хранить не надо. и у удалять не особо надо. можно поверх писать и не парится. всё равно к ним повторного обращения не будет.
Добавлено через 2 минуты это блоки довольно большие кстати. оченб большие. и динамически выделяются постоянно. чистить их нет смысла, ибо если один раз засрались, то существует вероятность, что и второй раз засруться. действия в приложении в основном циклические. Добавлено через 3 минуты именно поэтому, кстати, наблюдается постепенный рост используемой памяти. |
|
|||||
|
Modus ponens
|
Я вообще про другое...
Т.как я не особо силен в этом вопросе, и то, как именно плеер распоряжается своей памятью покрыто мраком, я бы наверное почитал вот это: http://msdn.microsoft.com/en-us/magazine/bb985010.aspx Скажем так, вряд ли человечество придумало что-то радикально новое и не похожее. Возможно, что в плеере эти проблемы решаются по-другому, но они все-равно должны как то решаться. Можно еще погуглить про Яву молодое поколение vs старшее поколение, в Яве как-то этот вопрос более освещен, потому что на ней есть много серверов, где за память нужно очень усердно бороться ![]() Если наблюдается постоянный рост памяти - то это плохо Но, как бы это по-моему не впервой такое с плеером... как бы не привыкать.
__________________
Hell is the possibility of sanity |
|
|||||
|
стервочка (я мужик)
|
я прекрасно понимаю о чём ты говоришь. просто все объекты в ВМ деляться на 2 типа, который нужно сохранить, и который можно сразу выбросить. так вот локальные переменные относятся ко второй категории. это память никак не чиститься. ибо она всегда засрана.
|
|
|||||
|
Modus ponens
|
Нет, локальные переменные как раз не могут к ним относится - почитай статью, там все хорошо расписано, локальные переменные, это как раз одни из "корневых" ссылок от которых начинается отсчет других ссылок.
Если бы это было не так, то ты бы просто ничего не смог написать вообще, как только первая запущенная функция (конструктор документ класса) отработала бы, на этом вся твоя програма и закончилась бы. Цитата:
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 28.04.2010 в 05:32. |
|
|||||
|
стервочка (я мужик)
|
не, меня не хватит на столько английского за раз. но из твоего абзаца ничего не ясно. и не ясно зачем локальным переменным быть корнем приложения. спорить о прозрачности воздуха мне надоело, так, что давай закруглимся. то есть я пониманию, что ты хотел донести до меня, но моё сознание пока не готово принять всё за чистую монету.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|