客户端与服务器的资源同步和管理解决方案
资源更新:
在客户端保存资源版本号,每次登录时向服务器请求最新版本号,如果有更新,则通过定义的更新资源协议来更新。
在服务端通过填写配置文件的方式来判断需要更新哪些资源,然后发送给客户端。
在客户端画面显示最好显示为动画形式,增强用户体验。
资源管理:
方法一:
资源下载链表(将申请的本地不存在资源加入链表,当接收到服务器资源时清除相应节点);
资源加载链表(管理需要加载的资源,检测本地是否有资源,有则加载);
资源接收链表(接收服务端资源的数据,如果资源数量多则采用逐步写成文件的方式已保证比较好的画面显示效果增强用户体验,不至于使画面静止);
资源管理链表(管理所有资源,定义一个引用计数)。
方法一比较复杂不便于理解,但是现在项目中正在用。
方法二:
用一个资源管理链表管理所有资源,资源状态分为:未下载,已下载,未加载,已卸载。通过状态切换来控制资源,比较统一,思路清晰便于理解。
资源的的加载或者写文件,最好逐步(每帧加载一个资源)进行,保证良好的用户体验,cpu好的可以一次加载,但是代码中不好判断cpu的好坏。