Version: 2020.1

DownloadHandlerScriptConstructor

切换到手册
public DownloadHandlerScript ();

描述

创建可在将数据传递给回调时分配新缓冲区的 DownloadHandlerScript。

此默认构造函数会将此 DownloadHanderScript 置于非预分配模式。这会影响 ReceiveData 回调的操作。

在非预分配模式下,系统每次调用 ReceiveData 时都会分配一个新的托管字节数组,且传递给 ReceiveData 的数组的长度始终等于可用的新字节数。

这样做很方便,但可能会导致不必要的垃圾收集操作。如果您的用例的实现需要避免不必要的垃圾收集操作,请改用预分配模式。


public DownloadHandlerScript (byte[] preallocatedBuffer);

参数

preallocatedBuffer 要将数据复制到其中的字节缓冲区,供 DownloadHandler.ReceiveData 使用。

描述

创建可通过重复使用预分配的缓冲区将数据传递给回调的 DownloadHandlerScript。

此构造函数会将此 DownloadHandlerScript 置于预分配模式。这会影响 DownloadHandler.ReceiveData 回调的操作。

在预分配模式下,系统将重复使用 preallocatedBuffer 字节数组以将数据传递给 DownloadHandler.ReceiveData 回调,而非每次都会分配新缓冲区。系统不会在每次使用时都将数组归零,因此必须使用 DownloadHandler.ReceiveDatadataLength 参数来查看哪些字节是新字节。

在这种模式下,DownloadHandlerScript 不会在下载或处理 HTTP 响应数据时分配任何内存。如果您的用例需要避免垃圾收集操作,建议您采用预分配模式。