/// <summary> /// 释放事件缓存中的事件数据包并清空事件缓存。 /// </summary> /// <param name="eventDic">事件缓存。</param> private void ClearCache(Dictionary <string, List <EventData> > eventDic) { foreach (List <EventData> events in eventDic.Values) { foreach (EventData e in events) { EventPool.Delete(e); } events.Clear(); } }
public void TestEventPool() { ListenerEventData le = null; for (int i = 0; i < 3; i++) { le = EventPool.New <ListenerEventData>(); } AreEqual(EventPool.TotalCreated, 3); EventPool.New <ListenerEventData>(); AreEqual(EventPool.TotalCreated, 4); EventPool.Delete(le); EventPool.New <ListenerEventData>(); AreEqual(EventPool.TotalCreated, 4); AEventData ae = null; for (int i = 0; i < 3; i++) { ae = EventPool.New <AEventData>(); } AreEqual(EventPool.TotalCreated, 7); EventPool.New <AEventData>(); AreEqual(EventPool.TotalCreated, 8); EventPool.Delete(ae); EventPool.New <AEventData>(); AreEqual(EventPool.TotalCreated, 8); EventPool.Delete(ae); EventPool.New <AEventData>(); AreEqual(EventPool.TotalCreated, 8); EventPool.Delete(ae); EventPool.New <AEventData>(); AreEqual(EventPool.TotalCreated, 8); }