/// <summary>
            /// 创建下载任务。
            /// </summary>
            /// <param name="downloadPath">下载后存放路径。</param>
            /// <param name="downloadUri">原始下载地址。</param>
            /// <param name="tag">下载任务的标签。</param>
            /// <param name="priority">下载任务的优先级。</param>
            /// <param name="flushSize">将缓冲区写入磁盘的临界大小。</param>
            /// <param name="timeout">下载超时时长,以秒为单位。</param>
            /// <param name="userData">用户自定义数据。</param>
            /// <returns>创建的下载任务。</returns>
            public static DownloadTask Create(string downloadPath, string downloadUri, string tag, int priority, int flushSize, float timeout, object userData)
            {
                DownloadTask downloadTask = ReferencePool.Acquire <DownloadTask>();

                downloadTask.Initialize(++s_Serial, tag, priority, userData);
                downloadTask.m_DownloadPath = downloadPath;
                downloadTask.m_DownloadUri  = downloadUri;
                downloadTask.m_FlushSize    = flushSize;
                downloadTask.m_Timeout      = timeout;
                return(downloadTask);
            }