AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.06.2005, 17:22   #1  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,913 / 5736 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Мне вызова этих двух функций хватало в некоторых ситуациях чтобы почистить память. Вообще-то - этот класс просто обертка над библиотекой SmartHeap, документация на которую лежит здесь:
http://www.microquill.com/kb/docs/01_intro.html

Честно говоря - сам до конца с этой библиотекой не разбирался - особой надобности не было.

Как я понимаю - метод shrink() просто приводит к тому что неиспользуемая память из всех пулов возвращается в ОС. Метод postcompactingMessage посылает приложению сообщение WM_COMPACT. По стандарту - при его получении, приложение должно освободить всю ту память, которая в данный момент не очень нужна. Я так подзреваю - сама Аксапта при получении этого сообщения просто вызывает shrink(). Отличие метода postCompactmessage от прямого вызова Shrink, насколько я понимаю, состоит в том что при получении этого сообщения память будут (по крайней мере - должны ) освобождать и всякие внешние activeX, загруженные в процессе Axapta.

Приведенный komarом текст - не оптимален. Правильнее взять текст функции Global::smartheapmemorySizeUp() из каких-нибудь последних сервис-паков третьей версии и перенести на 2.5. Ну и соответственно поставить вызов этой функции куда-нибудь в application.startupPost()
Теги
управление памятью

 


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:45.