У нас есть приложение .NETCF 3.5, написанное на C #, где мы используем довольно большие списки и словари объектов, заполненные данными с SQL Server и сохраненные в базах данных SQLCE на устройстве.
Приложение работало очень хорошо до недавнего времени. Объем данных таков, что мы получаем исключения из памяти довольно часто. Используя событие Hibernate, я подтвердил, что ОС действительно просит приложение освободить ресурсы (событие Hibernate запускается постоянно). Проблема в том, что я действительно не вижу ничего существенного, что можно было бы освободить - списки, словари и т. Д. Все используются приложением.
Я знаю, что в Mobile 5/6 существует жесткое ограничение в 32 МБ / приложение (на самом деле только 18-20 МБ на http://dev.fittingsites.com/bol/2008/windows-mobile-6-1-memory-management-changes).
Я немного растерялся. Если приложению требуется около 25 МБ для работы, как оно может работать на Mobile 5? Существуют ли обходные пути, такие как хранение списков или словарей в файлах с отображением в памяти или аналогичные, которые не потребуют много работы (или сильно замедляют работу)?