继上篇的基础准备 从资源服务器下载资源(一)
我们现在继续进一步完成 LoadManager 管理类。
管理类因为在全局中都是存在的,所以应该作为单例存在。
因为LoadManager 类是管理多个 LoadRequest的,所以我们需要存储当前正在下载的LoadRequest,以及下载完成的 LoadRequest。
另外,我们为了防止太多下载线程占用过多资源,我们对于下载的线程个数做一定的限制,如项目里面的最大线程数为2,所以我们需要一个存储LoadRequest的等待队列。
根据以上分析,分别如下:
public static LoadManager instance;
public int MAX_LOAD_REQUEST = 2;
private Dictionary<string, LoadRequest> loadDict = new Dictionary<string, LoadRequest>();
private Dictionary<string, LoadRequest> waitDict = new Dictionary<string, LoadRequest>();
private Dictionary<string, LoadParam> completeDict = new Dictionary<string, LoadParam>();
另外,既然有下载队列的存在,就有下载优先级,我们可以多