Мне нравится создавать собственные программы для смены обоев. Я знаю, что в Интернете много, но я просто пытаюсь научиться новому. Итак, до сих пор, каждый раз, когда я создавал какую-либо простую программу, я не заботился о RAM/Memory, потому что я в основном создавал программы для школы, и это было похоже на одноразовую программу, а затем я забывал об этом.Освобождение памяти от переменных
Но теперь я пытаюсь создать приложение, которое я хотел бы использовать, что-то мое. Я заметил, что моя программа занимает около ~ 4000 тыс. В окне «alt + ctrl + del», и иногда она занимает до 200 000k, когда она меняет обои, а иногда и снижается и иногда остается высокой, пока не изменит ее на другую.
Так вот возникает вопрос, каковы советы, чтобы сделать мое использование приложения как можно меньше оперативной памяти во время работы (значок на панели задач, и основные окна скрыт с помощью if (FormWindowState.Minimized == WindowState) Hide();
)
ли переменная внутри функции, принимая любую память? Пример
int function(int a){
int b = 0;
int c = a+b;
return c;
}
Или эти переменные освобождаются после того, как функция возвращает некоторое значение?
Я мог бы использовать некоторые советы, руководства и/или ссылки на статьи, где я мог бы получить некоторую информацию об этом. Приветствую вас.
EDIT: Хорошо, я прочитал некоторые, начал удалять растровые изображения, избавился от одной из моих глобальных переменных, которые я использовал .. и ее на устойчивом 4000-7000k сейчас. Поднимая немного при смене обоев, но затем опускающийся к нему. Поэтому я предполагаю, что это для меня успех. Осталось еще одно. Я загрузил kinda big/large/с множеством опционных программ, которые меняют обои, и у него есть больше возможностей, чем у меня, и все же это занимает около 1000-2000 тысяч, поэтому ima теперь читает, что может занять так много «баранов» в моей. Прямо, когда я запускаю свою программу около 4100, я думаю, я все еще могу сделать что-то, чтобы ее оптимизировать. Спасибо всем за ответы! :)
пространство памяти для локальных переменных в стеке исправлено, когда стек разматывается при возврате метода, ссылки на локальные переменные в куче в этой точке становятся доступными для сбора мусора. В качестве отправной точки я бы выбрал google «C# сбор мусора». – BrokenGlass
FYI, пожалуйста, не префиксайте свои заголовки такими вещами, как «Visual Studio C#». Для этого нужны теги. –
up: Roger это. Извините, не сделайте это снова. BrokenGlass: Спасибо, наверняка прочитает об этом – Kedor