【发布时间】:2015-03-31 14:47:21
【问题描述】:
我有 Winforms 应用程序。我的应用程序获取 Pcap 文件并通过机器适配器传输来自该文件的所有数据包。
在我的 UI 中,我有许多控制器事件,例如我所有的 GridView 事件 (CellChanged, RowChanged...)
虽然我的应用程序处于传输过程中,但我不需要它,我的所有UI 更新都是通过计时器检查负责此传输的我的类,所以我的问题是我应该取消订阅所有这些事件吗?
这样做有好处吗?
【问题讨论】:
-
不,这通常没有必要或有利。
-
如果有的话它可能会减慢你的应用程序
-
取消订阅所有这些事件会降低我的应用速度??
-
退订需要时间,再次订阅需要时间,而且很容易出错。除非您要关闭所有内容,否则将其扔掉,然后再重新创建。订阅事件本身并不需要任何费用。
-
但是这需要时间吗?单击我的播放按钮后,在播放操作之前我取消订阅并立即开始播放,我没有看到任何冻结或其他东西。