Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> При обращении делегата к контролу заполняется памя 
:(
    Опции темы
Artamos
Дата 12.4.2015, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.6.2013

Репутация: нет
Всего: нет



Нашел такую проблему, при каждом обращении делегата к контролу накапливается память, занимаемая программой. Обратил внимание, что через 300 обращений программа занимает уже около 2гб оперативной памяти. Логика программы проста, запускаю поток, где циклом обрабатываются ссылки, при каждой итерации цикла в label на форме выводится строка с номером ссылки. Если вывод в label закрыть, то всё нормально, поэтому уверен, что память накапливается именно в данном месте. В чём тут может быть проблема, что делаю не так?

Создаю поток:
Код

        private void Button1_Click(object sender, RoutedEventArgs e)
        {
                    // код ...
                    Task Thr = new Task(() => TT2(links));
                    Thr.Start();
        }
 
        private void TT2(List<string> links)
        {
            for (int NUM = 0; NUM <= 100; NUM++)
            {
                Dispatcher.Invoke(new IT2_Status(CT2_Status), " Выполняется " + NUM.TString());
                // код ...
            }
        }


Вывожу в label:
Код

        delegate void IT2_Status(string status);
        private  void CT2_Status(string status)
        {
            Label1.Content = status;
        }

PM MAIL   Вверх
sgrey
Дата 12.4.2015, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



используйте memory profiler. Есть интересная статья здесь http://blogs.msdn.com/b/dotnet/archive/201...tudio-2012.aspx
Если версия Visual Studio старая и не имеет встроенного - скачайте любую триалку. Вообще есть смысл вложиться в такой инструмент в любом случае, если код пишется профессионально.
PM MAIL   Вверх
infarch
Дата 13.4.2015, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: 1
Всего: 1



Цитата(Artamos @  12.4.2015,  00:32 Найти цитируемый пост)
Label1.Content = status;


Простите, а что за свойство такое у лейбла: Content? Text знаю, а это нечто новое...
PM MAIL   Вверх
sgrey
Дата 13.4.2015, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



Цитата(infarch @ 13.4.2015,  14:19)
Цитата(Artamos @  12.4.2015,  00:32 Найти цитируемый пост)
Label1.Content = status;


Простите, а что за свойство такое у лейбла: Content? Text знаю, а это нечто новое...

это контрол в WPF 
PM MAIL   Вверх
infarch
Дата 14.4.2015, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: 1
Всего: 1



Цитата(sgrey @  13.4.2015,  17:41 Найти цитируемый пост)
это контрол в WPF 

Понял, спасибо. Про впф как-то не подумал )
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.