Я хочу знать, должен ли я располагать объект Graphic перед его повторным использованием? смысл я заменить подмигнули значение:Графика, утилизируйте перед повторным использованием?
графический = «createGraphic»
что-то подобное, я должен располагать перед этим?
вот пример кода, где я использую его:
gmp.DrawImage(newImage, 0, 0);
if (newImage.Size != panelm.Size)
{
panelm.Invoke((MethodInvoker)delegate { panelm.Size = newImage.Size; });
this.Invoke((MethodInvoker)delegate { this.Size = newImage.Size; });
gmp.Dispose();
gmp = panelm.CreateGraphics();
};
Таким образом, это в цикле в то время, прежде чем время, я сделать ГМП наследует panelm. Но, я никогда не избавляюсь от него в цикле, я просто повторно его использую все время, кроме того, если размеры не совпадают.
Тогда мне нужно его воссоздать (иначе это будет большой/маленький).
Но теперь дело в том, должен ли я распоряжаться раньше, или я должен просто использовать creategraphic?
Кроме того, проблема здесь. Я не могу использовать «Использование» на gmp. Потому что, если я это сделаю, у меня есть только 2 возможности.
1: создать его перед циклом while и повторно использовать его до тех пор, пока цикл while не закончится (это значит, я никогда не смогу его изменить). 2: создайте его внутри цикла while (это означает, что он будет воссоздан каждый цикл, который, я думаю, будет пустой тратой).
Благодаря
Вы должны ** всегда ** удалять объекты, содержащие собственные ресурсы. 'Графика',' Socket', что угодно. –
Если класс реализует интерфейс IDisposable, вы можете быть уверены, что для этого есть причина. C# позволяет вам не заботиться о GC, но это хорошая практика, особенно при создании объектов в цикле. – Tarec