作者:现实-不过如此 | 来源:互联网 | 2023-06-08 17:17
工作中执行护理任务后需刷新数据,发现第一次执行后刷新速度很快,连续执行多次后,刷新时间呈指数增长。调试代码发现相关的一个委托事件被重复执行多次,导致时间延长。百度知道原来是事件被重复订阅了,不
工作中执行护理任务后需刷新数据,发现第一次执行后刷新速度很快,连续执行多次后,刷新时间呈指数增长。
调试代码发现相关的一个委托事件被重复执行多次,导致时间延长。
百度知道原来是事件被重复订阅了,不想检查重复则可以在订阅前先去除事件,再添加事件,则运行时该事件就只会被执行一次啦!
简单示例:
NursingCarePlanInterface.ReflashEvent -= RelflashRwToDoList;
NursingCarePlanInterface.ReflashEvent += RelflashRwToDoList;