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