作为开发人员,想必大家平时在开发工程中一定会遇到这种场景:在某一时间点不需要获取所有的数据来展现给用户观看,而采取一种使用时再加载或者刷新的机制,我们称之为用时处理技术,相信大家也普遍地使用,并进行了优化;比如大型工程的动态库、插件,网络上的缓冲视频流、线性化的PDF显示、数据库中的部分类容、一个大TreeCtrl中的节点等等,以上事例程序在启动的时候不需要加载所有的功能、或者是界面不需要做全部的显示、或者是浏览文件/视频的时候不需要全部的下载完诸如此类,我们都会采用用时处理的技术; 讨论的再详细些,比如一个大TreeCtrl中的节点,现在想要TreeCtrl节点来显示一个文件的摘要标题,没有必要全部的显示,程序开始的时候,可以加载外层的Node,二级的Node是看不到的,当用户点击特定的时候,程序中再去计算刷新界面,这样程序性能会提升性,很多时候,初始是没有必要显示较为全面的信息的;当文件修改、增加、删除时,可以传入一个bool Flag 来告诉TreeCtrl更新的方法,如是部分更新还是重新加载,这样的效率会更高,而不是一味的去重新计算; 这里做的一个记录与分享,希望大家在实际开发中,也能够多多使用这样的构思与设计,以此来提升软件的灵活性和效率!