Я создаю дополнительные темы для выполнения различных фоновых действий. Если я использую WPF внутри рабочего потока, то мне нужно убедиться, что диспетчер для этого потока отключен изящно, чтобы предотвратить утечку памяти. Существуют ли другие компоненты .NET, которые используют диспетчер? Или WPF - единственный компонент .NET, который его использует?Какие компоненты .NET используют диспетчер?
2
A
ответ
1
Из звука вашего вопроса вы создаете Dispatcher
на своих фоновых потоках, а не захватываете и используете существующий из основного потока пользовательского интерфейса. Почему ты делаешь это? Ваши фоновые потоки должны просто использовать существующий Dispatcher
и разрешить потоку пользовательского интерфейса обрабатывать его очистку.
1
Dispatcher внутренне использует SynchronizationContext, который является традиционным классом, который используется в окнах для операций с поперечными потоками. Но «Диспетчер» связан только с WPF.
Смежные вопросы
- 1. Как определить, какие запущенные приложения используют .Net
- 2. Какие компоненты .net мне нужны мои приложения?
- 3. Как узнать, какие компоненты используют дублирование через SonarQube api?
- 4. Какие компоненты RichFaces используют прототип, который использует jquery?
- 5. Какие технологии они используют?
- 6. Приложения, которые используют .NET
- 7. Какие приложения используют MEF
- 8. Какие порты используют андроид?
- 9. Какие алгоритмы используют SQL?
- 10. Какие алгоритмы используют AlchemyAPI?
- 11. Какие встроенные функции .net используют ключевое слово params?
- 12. Какие функции платформы .NET используют ссылку на сборку ссылок?
- 13. Какие элементы управления .NET не используют javascript для обработки событий?
- 14. Диспетчер управления сплиттером .NET
- 15. .Net компоненты для Mono
- 16. Какие компоненты Indy использовать?
- 17. Какие компоненты инфраструктуры .Net необходимо профессиональному разработчику избежать?
- 18. Какие карты используют на iPhone
- 19. Какие приложения используют R-деревья?
- 20. Какие курсы OpenCourseWare используют Lua?
- 21. Какие двигатели используют основные браузеры?
- 22. Какие сетевые протоколы используют luarocks?
- 23. Какие библиотеки GUI используют OpenOffice?
- 24. Какие службы AWS Netflix используют?
- 25. Какие нерублевые проекты используют Rake?
- 26. Какие операции запроса используют индексы?
- 27. Какие веб-службы Amazon используют
- 28. Какие схемы поддержки используют Mongoskin.
- 29. Какие слои/протоколы это используют?
- 30. Какие типы используют FileNameEditor в PropertyGrid?
Фоновый поток создает отчет с помощью WPF для настройки визуального дерева, а затем визуализации этого визуального дерева в растровое изображение, которое затем сохраняется на диске. Я обнаружил, что это утечка памяти, и только потом обнаружил, что WPF использует диспетчер для управления памятью. Добавление Dispatcher.CurrentDispatcher.Run() и закрытие его перед выходом из потока устраняет утечку памяти. Чувствовал, есть ли другие области, такие как WCF ?, которые используют диспетчер, и поэтому я должен знать об этом как о потенциальной утечке. –
На самом деле это служба, которая генерирует много отчетов, основанных на планировании и получении соответствующих данных из базы данных. Таким образом, основной поток пользовательского интерфейса не задействован. –