创建一个 DownloadHandlerScript,它在将数据传递给回调时分配新的缓冲区。
此默认构造函数将此 DownloadHanderScript 置于非预分配模式。这会影响 ReceiveData 回调的操作。
处于非预分配模式时,每次调用 ReceiveData 时都会分配一个新的托管字节数组,并且传递给 ReceiveData 的数组长度始终等于可供使用的新字节数。
这很方便,但可能会导致不必要的垃圾回收。如果您的用例需要避免不必要的垃圾回收的实现,请改用预分配模式。
preallocatedBuffer | 一个字节缓冲区,将数据复制到其中,供 DownloadHandler.ReceiveData 使用。 |
创建一个 DownloadHandlerScript,它重用预分配的缓冲区将数据传递给回调。
此构造函数将此 DownloadHandlerScript 置于预分配模式。这会影响 DownloadHandler.ReceiveData 回调的操作。
处于预分配模式时,preallocatedBuffer
字节数组将被重复使用以将数据传递给 DownloadHandler.ReceiveData 回调,而不是每次都分配新的缓冲区。系统不会在使用之间将数组归零,因此必须使用 DownloadHandler.ReceiveData 的 dataLength
参数来发现哪些字节是新的。
处于此模式时,DownloadHandlerScript 在下载或处理 HTTP 响应数据期间不会分配任何内存。如果您的用例对垃圾回收很敏感,建议使用预分配模式。