我在使用無擴展的.NET WPF應用程序下面的代碼:無擴展內存使用
public MainWindow()
{
InitializeComponent();
var leftButtonDown = Observable.FromEvent<MouseButtonEventArgs>(this, "MouseLeftButtonDown");
var leftButtonUp = Observable.FromEvent<MouseButtonEventArgs>(this, "MouseLeftButtonUp");
var moveEvents = Observable.FromEvent<MouseEventArgs>(this, "MouseMove")
.SkipUntil(leftButtonDown)
.SkipUntil(leftButtonUp)
.Repeat()
.Select(t => t.EventArgs.GetPosition(this));
moveEvents.Subscribe(point =>
{
textBox1.Text = string.Format(string.Format("X: {0}, Y: {1}", point.X, point.Y));
});
}
會不會有內存的穩定增長,而鼠標在該對話框中移動?
閱讀代碼,我期望moveEvents可觀察將在一段時間後包含大量的MouseEventArgs?或者這是以某種我不知道的聰明方式處理的?
注意,用戶只能從他簽約後,接收到新的事件,這麼老的事件都沒有隨處可見。 – Gabe 2010-06-14 20:40:55