我的应用程序打开和关闭同一视图的次数都不同,并且每次随着循环的进行而变得缓慢。 如果我未在DependencyProperty的ValueChanged事件上附加任何处理程序,则GC将按预期进行收集。如果我在声明中隐式添加它:
public static void main(String[] IncomingInfo) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
PIN = IncomingInfo[0];
XmlFile = IncomingInfo[1];
或单独在ctor中:
public static DependencyProperty selectedCharProperty = DependencyProperty.Register(
"SelectedChar",
typeof(Characteristic),
typeof(GenericGraphicSectionUserControl),
new PropertyMetadata(OnSelCharChanged)
);
然后实例不断堆积。 This is the closest question I could find on the matter,但尽管可以编译,但仍无法解决问题。我也尝试过
TypeDescriptor.GetProperties(this)["SelectedChar"].AddValueChanged(this, OnSelCharChanged);
设置我确定控件将被卸载的位置,但是它只会将泄漏延迟一次迭代。还有什么我可以尝试的?