Как уменьшить использование памяти приложения WPF

Попробуйте $elemMatch так:

collection.find({ JSON_Request: { $elemMatch: { $eq: "Heartbeat" } } })

10
задан Community 23 May 2017 в 12:08
поделиться

4 ответа

К сожалению, по моему опыту, ~25MB является самым низким, я видел маленькие приложения WPF, которые я сделал, по крайней мере, на Windows XP. Я думаю, что даже пустые приложения шаблона WPF берут ~20MB. На чем ОС Вы работаете?

Windows Vista является лучшей историей, и можно, вероятно, ожидать видеть ~13-15MB для пустого приложения шаблона WPF.

Чтобы Ваше приложение использовало 6-12 потоков, и только используйте ~25MB, я сказал бы, что Вы делаете вполне прилично.:-)

5
ответ дан 4 December 2019 в 01:03
поделиться

Если это - приложение системного лотка, Вы могли бы иметь ту часть программы, реализованной в WinForms (или даже C++), и только породить приложение WPF, когда пользователь дважды щелкает по Вашему значку. Тем путем Вы только платите за память при фактическом использовании ее.

5
ответ дан 4 December 2019 в 01:03
поделиться

Не уверенный, если это помогает, но в Visual C++ MS, размер стека по умолчанию составляет 1 МБ и может быть установлен на то, что Вы хотите использовать параметр компилятора. Очевидно, приложения C# наследовали этот размер по умолчанию (Таким образом, каждый поток берет на уровне минимального 1 МБ). Но, кажется, нет так или иначе для установки его, когда я делаю "csc/?"

1
ответ дан 4 December 2019 в 01:03
поделиться

Это - факт.NET/JAVA-приложений, что CLR/JVM выделит большую память "кучи", затем на самом деле нуждался/использовал. Они обычно менее готовый выпустить выделенный ОС, если ОС не получает физическую память starveling.

Но это верно, что управление памятью является трудной темой. Проблема: как Вы определяете использование памяти своим приложением? Общая выделенная виртуальная память? общий рабочий набор? частный рабочий набор? используемая память в "куче"? "куча" выделяется? минимум, пик или среднее число?

Одна вещь, которую можно сделать, использует Профилировщика CLR для проверки, там слишком много выделенной "кучи". Можно попытаться оптимизировать его, тратят потребление памяти, берет ко временам для предотвращения свечения "кучи" слишком много.

0
ответ дан 4 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: