Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Определите модель памяти для вашего приложения
Определите модель памяти для вашего приложения
Поскольку мобильные приложения выполняются в средах с ограниченными ресурсами памяти, полезно определить и поддерживать явную модель, описывающую способы использования памяти и осуществления управления ею в вашем приложении. В современных высокоуровневых объектно-ориентированных вычислительных средах, использующих механизм сборки мусора (garbage collection), необходимости в отслеживании распределения отдельных областей памяти обычно не возникает, хотя это и может играть важную роль при низкоуровневом программировании таких, например, объектов, как драйверы устройств. Вместо этого гораздо важнее иметь в своем распоряжении модель, описывающую, какие именно объекты и в течение какого времени должны удерживаться в памяти. Рассматривая это как часть процесса проектирования, вы должны дать ответы на следующие вопросы:
? Какие глобальные ресурсы будут кэшироваться в памяти? Одни объекты целесообразно кэшировать, тогда как хранить в памяти другие объекты было бы слишком расточительно. Трезво оцените, какие объекты к какой категории следует отнести.
? Какой объем данных приложения будет загружаться в память в каждый момент времени? Большинству приложений приходится иметь дело с довольно крупными объемами данных, лишь часть которых должна быть загружена в память в каждый заданный момент времени.
? При каких условиях возможно освобождение памяти от загруженных данных и ресурсов? Модели очистки памяти, позволяющие избавляться от данных и ресурсов, необходимость в которых в данный момент отсутствует, играют очень важную роль в процессах освобождения памяти, требуемой для сохранения других данных и ресурсов.
От вас, как от разработчика, зависит, будет ли осуществляться управление этими важными аспектами явным образом или же проблемы будут решаться по мере их возникновения, пока объем поглощаемой приложением памяти не превысит допустимые пределы. Соображения по этому поводу уже приводились в одной из предыдущих глав, когда мы обсуждали применение машин состояний для управления моделью памяти приложения. Если вы еще не читали этот материал, имеет смысл вернуться назад и просмотреть его. Эти же вопросы находятся в центре внимания следующей главы, посвященной рассмотрению методов управления памятью и производительностью.
- Определите обязательные характеристики сценариев рабочих сеансов пользователя
- Определите контрольные точки разработки, критерии завершения которых ориентированы на достижение высокой производительности
- Время от времени критически пересматривайте написанный код
- Определите модель памяти для вашего приложения
- Как можно чаще контролируйте показатели, характеризующие работу вашего приложения
- Программа для измерения характеристик кода
- Выполняйте тестирование с использованием реальных объемов данных
- Тестируйте приложения в предельных режимах
- Своевременно предпринимайте меры по поддержанию высокой производительности приложения (со временем ситуация будет только ухудшаться!)
- 3.2.1.2. Начальное выделение памяти: malloc()
- Кроссбраузерность вашего сайта
- 7.4. Модель системы автоматизированного проектирования защиты информации
- Установите тип вашего терминала
- 5. Продукционная модель знаний
- 1.8 Ввод-вывод типичного приложения хранения данных
- 2.3 Модель мини-драйвера IDE
- 7.1 Общая информационная модель и стандарт WBEM
- Извлечение и возврат документов в приложениях Microsoft Office 2007
- Использование панели задач Управление документами в приложениях Office 2007
- 3.1. Стратегии интернет-продвижения вашего проекта
- Часть II Операционная система вашего ПК