Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Библиотеки

Ответ
 
Опции темы
Старый 16.06.2008, 14:41   #1
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Lib_memclean: очистка оперативной памяти от "мусора".

Данная библиотека позволяет выгружать из памяти неиспользуемые данные.
Например:
program imFreeTest;
uses memory,memclean;
var
 Im1,im2,im3,nil:image;
begin
  drawText('BL:'+integertostring(memory.free), 0, 0);
  repaint;
  im1:=LoadImage('/image.png');//заполняем память
  im2:=LoadImage('/image.png');
  im3:=LoadImage('/image.png');
  drawText('AL:'+integertostring(memory.free), 0, 10);
  repaint;
  Im1:=nil;//"уничтожение" объектов, обратите внимание,
  //изображение nil не загружено
  Im2:=nil;
  Im3:=nil;
  drawText('AD:'+integertostring(memory.free), 0, 20);
  repaint;
  memclean.clean;//чистка памяти
  drawText('AC:'+integertostring(memory.free), 0, 30);
  repaint;	
 delay(20000);
end.
Вложения
Тип файла: zip Lib_memclean.zip (831 байт, 1107 просмотров)
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо ViNT за это полезное сообщение:
AVIZO (13.12.2009), baton4ik (23.11.2009), Bruteo (03.11.2009), cherry (28.01.2012), Rock2roll (23.02.2011)
Старый 17.06.2008, 08:13   #2
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_memclean: очистка оперативной памяти от "мусора".

Спасибо за новую библиотеку. Обязательно добавлю её в сборник.
(Offline)
 
Ответить с цитированием
Старый 13.12.2009, 15:48   #3
Skythrone
ПроЭктировщик
 
Регистрация: 02.07.2008
Сообщений: 105
Написано 7 полезных сообщений
(для 14 пользователей)
Ответ: Lib_memclean: очистка оперативной памяти от "мусора".

Мне вот интересно - а насколько использование данной библиотеки обоснованно и необходимо?
Ведь по идее Java-машина сама должна чистить и дефрагментировать память.

Использование данной либы мне представляется неким стимулятором-допингом, который вмешивается в работу приложения в среде Java, что может повлечь непредсказуемые последствия на разных телефонах, особенно на LG, Samsung и старых Nokia.

Хотелось бы услышать мнение участников форума.
(Offline)
 
Ответить с цитированием
Старый 13.12.2009, 19:50   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_memclean: очистка оперативной памяти от "мусора".

Действительно, java сама через определенные промежутки времени вызывает сборщик мусора, но иногда нужно экстренно очистить память, не дожидаясь, пока система сделает это сама. Использование данной библиотеки позволяет вручную вызвать сборщик мусора в нужное время. При этом используется стандартный метод java, по сути то же самое, что система делает автоматически. Так что, нарушения в работе мидлета или JVM в целом это вызывать не должно.
(Offline)
 
Ответить с цитированием
Старый 13.12.2009, 21:49   #5
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_memclean: очистка оперативной памяти от "мусора".

От себя добавлю, что ручной вызов сборщика мусора всё равно не гарантирует того, что память будет действительно очищена. Это всего лишь совет телефону, что память неплохо бы и почистить, а вот последнее слово остаётся всё же за телефоном. Ему решать когда реально делать очистку. Для повышения вероятности действительного вызова сборщика мусора нужно после вызова сборщика ещё и делать паузу Delay секунд эдак на 5. Стоит ли говорить, что это вызовет явные тормоза в работе приложения.
(Offline)
 
Ответить с цитированием
Старый 16.12.2009, 23:48   #6
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Вопрос Ответ: Lib_memclean: очистка оперативной памяти от "мусора".

хм... написал простенькую прогу, что б затестить библу... на емуляторе всё пашет, как надо, но вот на моём сони-ериксон ш300ай после очистки свободной хип-памяти оказывается меньше, чем до неё...
Причина ли та, что озвучил odd в предыдущем посту?

Выкладываю сурсы.
Вложения
Тип файла: rar Optimizator.rar (54.7 Кб, 724 просмотров)
(Offline)
 
Ответить с цитированием
Старый 17.12.2009, 00:10   #7
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_memclean: очистка оперативной памяти от "мусора".

Сложно сказать, в чем причина. Я проверял только на довольно тяжелых изображениях, все работало, здесь же изображение займет в памяти не много места. Вообще больше похоже, что это особенности работы JVM конкретного телефона. Возможно также, что эффект от стирания копий изображения (поскольку он потребляет немного памяти) незаметен из-за того, что память тратится на добавление комманд и прочих компонентов на форму.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
baton4ik (17.12.2009)
Старый 17.12.2009, 18:35   #8
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: Lib_memclean: очистка оперативной памяти от "мусора".

спасибо! попробую ещё увеличить размер изображения и проверить...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Утечка памяти из-за оставшихся "внутренних" ссылок Жека FAQ и уроки 6 13.12.2010 12:05
Можно ли сделать так чтобы при нажатии "вверх" и "вниз" двигалась одна картинка, а при нажатии "вправо" и "влево" - другая Total_Nube_&_Lamo Основной форум 2 13.12.2009 22:00
"Кодирование/декодирование изображений", или "Давайте попробуем скрыть ресурсы мидлетов" Richik Библиотеки 17 03.06.2009 14:18
Игра "Три слова". Рассказ "Время планет" Ilyich Юмор 77 02.04.2007 17:49
"Дневник памяти" impersonalis Болтовня 2 16.12.2006 01:27


Часовой пояс GMT +4, время: 23:28.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com