Windows phone 7 如何确保可以收集包含事件的对象?

Windows phone 7 如何确保可以收集包含事件的对象?,windows-phone-7,memory-leaks,garbage-collection,telerik,mvvm-light,Windows Phone 7,Memory Leaks,Garbage Collection,Telerik,Mvvm Light,我已将VirtualDataCollection与事件 VirtualDataCollection.ItemsLoading += VirtualDataCollectionOnItemsLoading; 我不能在活动内部取消订阅,因为它可以被称为随机次数。如何确定该实例将由GC收集?我读了一些关于未订阅事件泄漏的文章(如)。另外,抱歉,设置 VirtualDataCollection.ItemsLoading = null; 现在,我正在使用 public void OnNavigated

我已将VirtualDataCollection与事件

VirtualDataCollection.ItemsLoading += VirtualDataCollectionOnItemsLoading;
我不能在活动内部取消订阅,因为它可以被称为随机次数。如何确定该实例将由GC收集?我读了一些关于未订阅事件泄漏的文章(如)。另外,抱歉,设置

VirtualDataCollection.ItemsLoading = null;
现在,我正在使用

public void OnNavigatedFrom()
    {
        VirtualDataCollection.Clear();
        VirtualDataCollection = null;
        Cleanup();
    }
但那是伊诺古吗

编辑:嗯。。其实,我也可以补充

public void OnNavigatedFrom()
    {
        VirtualDataCollection.ItemsLoading -= VirtualDataCollectionOnItemsLoading;
        VirtualDataCollection.Clear();
        VirtualDataCollection = null;
        Cleanup();
    }
如何确定该实例将由GC收集


如果您只担心GC方面的问题,而it无法收集发布实例,那么不要担心。事件发布者对事件处理程序有引用,但反过来没有。

因此,如果我将事件发布者(VirtualDataCollection)设置为null,它将不会从事件处理程序(VirtualDataCollectionOnItemsLoading)引用,并且会被GC清除?