Привет, я разработал приложение Windows CF C#, которое использует SQL-соединение, и сканер штрих-кода, приложение работает хорошо, дает быстрый ответ, работает быстро, но иногда приложение работает очень медленно , для сканирования штрих-кода требуется более 1 мин. Я проверил другие процессы, работающие на устройстве, но никаких других запущенных процессов не нашел, я использую Wlan Connectivity для извлечения данных, таблицы данных в приложении C# для управления ею
, пожалуйста, предложите некоторые улучшения, изменения или любые задачи для повышения производительности.Использование памяти в приложении C# Приложение Compact Framework
ответ
CLR поддерживает график специального вида, который позволяет определить, доступны ли какие-либо данные из основного метода пользователя. Если данные недоступны, предполагается, что они не используются. Это означает, что неиспользуемые данные будут удалены. Конечно, это не означает, что данные будут немедленно удалены. У сборщика мусора есть несколько поколений объектов, в двух словах они представляют собой совокупность объектов, отсортированных по приоритету их использования. Неиспользованные данные будут удалены, когда соответствующее поколение будет очищено (к сожалению, время неизвестно, это может произойти в любое время). Следует отметить, что из поколения будут удалены только неиспользуемые объекты, а некоторые данные могут быть перенесены в другое поколение.
Чтение информации о [использовании утверждения] (https://msdn.microsoft.com/en-us/library/yh598w02.aspx) и [сборка мусора] (https://msdn.microsoft.com/en-us /library/0xy59wtx(v=vs.110).aspx) может помочь вам с вашим вопросом. –
Как разработчик .NET вам не нужно беспокоиться об этом :) – Fabio
@Fabio, он должен на самом деле. И каждый разработчик, несмотря на платформу и/или язык программирования, должен беспокоиться о памяти. Это ограниченный ресурс, который может укусить вас OutOfMemoryException и субоптимальную производительность, если вы не будете относиться к нему соответствующим образом. –