| 
 
| 赞 | 13 |  
| VIP | 118 |  
| 好人卡 | 28 |  
| 积分 | 13 |  
| 经验 | 35779 |  
| 最后登录 | 2017-7-6 |  
| 在线时间 | 1564 小时 |  
 Lv3.寻梦者 
	梦石0 星屑1305 在线时间1564 小时注册时间2008-7-30帖子4418 
 | 
| 怪我当时没写清楚。refresh一般涉及到图像重绘,图像重绘会占用较多资源。请这样想:假设我们绘制一个血条需要耗费20毫秒,如果每帧都要重绘的话,不但擦除、绘制又浪费20毫秒,而且绘制出来的效果也更原来一样。因此很多时候实用update进行逻辑层面上的判断更新(数据是否有变动),如果发现数据有变动,比如血量减少了update就会调用refresh方法来进行重绘。这样比较节省系统资源和时间。 
 另外,update方法是被写死了的(父类模板方法中指明了每帧都会调用窗口的update方法)。refresh则一般是建立时调用。
 
 就功能上来说,名字并不对方法产生影响。但是由于上层抽象中就是使用的refresh这个名字,你如果要修改的话就得修改很多地方。
 
 | 
 |