UniVue2.0.0-preview
UniVue2.0.0-preview版本
本次为大版本改动,预览版本改变较大的有以下几点:
1.优化整个View层的设计,不再提供任何默认的IView接口实现,实现更多灵活的功能;
2.优化Model层的设计,源生成器将默认为实现IBindableModel接口的类提供一个BindableTypeInfo对象描述其绑定信息;
3.优化整个Event系统,所有的反射调用全部移除,全部采用直接调用,事件调用性能消耗成本几乎可以不计;
4.UniVue所有运行时模块都不再使用任何反射,性能全面提高;
5.重构LoopList、LoopGrid组件,同时只保留了这两个组件,之前的其它组件全部删除不再使用;
6.优化规则引擎,通过使用内部实现ArrayPool和C#的Span减少数组对象的内存分布,同时对内部三大规则EventRule、ModelRule、RouteRule优化,字符串GC得到大幅度降低;
7.ViewLevel新增Unmanaged级别的视图,此类的视图的打开关闭不受其它级别视图的影响,同时不会被压入视图堆栈;
8.重写运行时调式器,减少了95%以上的反射使用;
9.暂时移除I18n模块,在正式版本中发布此功能;
10.移除Input模块,考虑到Unity的InputSystem功能更加全面,UniVue将不再提供任何输入模块;
11.对内部的频繁使用数组对象(List)全面提高开启缓存功能,默认开启缓存;
12.命名规则只支持大写开头下划线分隔+UI后缀的方式,不再提高任何其它命名规则(过去提供的多种命名风格维护起来太困难,每修改新增一条规则就要有8种不同的实现,直接废弃了,UniVue2正式版中将会提供能够覆盖默认规则的实现接口);
13.废弃AtomModel和GroupModel;