Показать сообщение отдельно
  #3 (permalink)  
Старый 24.07.2019, 10:40
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

Uint8Array - это непрерывный кусок памяти. Его нельзя увеличивать. Так исторически сложилось, причём задолго до появления js. Единственный способ его "увеличить" - это создать новый, более крупный кусок, и скопировать данные из старого куска, старый передать сборщику мусора. В твоём случае, когда данные появляются постепенно, оптимальной будет стратегия с удвоением размера буфера - дополнительных издержек выходит где-то на 2N по памяти и примерно столько же копирований.
А вообще - какая задача? Нафига понадобилось все данные в массив запихнуть?
Ответить с цитированием