Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

DownloadHandlerScript Constructor

Объявление

public DownloadHandlerScript();

Описание

Создайте DownloadHandlerScript, который выделяет новые буферы при передаче данных в обратные вызовы.

Этот конструктор по умолчанию помещает этот DownloadHanderScript в режим без предварительного выделения. Это влияет на работу обратного вызова ReceiveData.

В режиме без предварительного распределения новый массив управляемых байтов будет выделяться каждый раз при вызове ReceiveData, а длина массива, передаваемого в ReceiveData, всегда будет равна количеству новых байтов, доступных для использования.

Это удобно, но может привести к нежелательной сборке мусора. Если для вашего варианта использования требуется реализация, которая позволяет избежать ненужной сборки мусора, вместо этого используйте предварительно распределенный режим.


Объявление

public DownloadHandlerScript(byte[] preallocatedBuffer);

Параметры

preallocatedBuffer Байтовый буфер, в который будут скопированы данные для использования DownloadHandler.ReceiveData.

Описание

Создайте DownloadHandlerScript, который повторно использует предварительно выделенный буфер для передачи данных в функции обратного вызова.

Этот конструктор помещает этот DownloadHandlerScript в предварительно выделенный режим. Это влияет на работу обратного вызова DownloadHandler.ReceiveData.

В предварительно выделенном режиме массив байтов preallocatedBuffer будет повторно использоваться для передачи данных в DownloadHandler.ReceiveData обратный вызов, вместо того, чтобы каждый раз выделять новые буферы. Система не будет обнулять массив между использованиями, поэтому аргумент dataLength для DownloadHandler.ReceiveData должен быть используется для обнаружения новых байтов.

В этом режиме DownloadHandlerScript не будет выделять память во время загрузки или обработки данных ответа HTTP. Если ваш вариант использования чувствителен к сборке мусора, рекомендуется использовать предварительно распределенный режим.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3