Я создаю приложение с ActionScript 3.0 в своем Flash-устройстве. Это следующий вопрос this question.JPEG-кодировщик очень медленный, как его оптимизировать?
Мне нужно загрузить bytearray на свой сервер, но функция, которую я использую для преобразования bitmapdata в ByteArray, очень медленная, поэтому замедляет ее зависание моего мобильного устройства. мой код выглядит следующим образом:
var jpgenc:JPEGEncoder = new JPEGEncoder(50);
trace('encode');
//encode the bitmapdata object and keep the encoded ByteArray
var imgByteArray:ByteArray = jpgenc.encode(bitmap);
temp2 = File.applicationStorageDirectory.resolvePath("snapshot.jpg");
var fs:FileStream = new FileStream();
trace('fs');
try{
//open file in write mode
fs.open(temp2,FileMode.WRITE);
//write bytes from the byte array
fs.writeBytes(imgByteArray);
//close the file
fs.close();
}catch(e:Error){
Есть ли другой способ преобразования его в byteArray? Есть ли способ лучше? заранее спасибо!
~ Myy
Независимо от выполнения кода, почему вы не работаете на работу в фоновом потоке вместе с загрузкой? Если вы не можете ограничить размер входного изображения, вы всегда найдете пользователей, которые выбирают большие изображения и будут не нравиться невосприимчивое приложение. –
@GrzegorzAdamHankiewicz В AS3 многопоточность очень новая и еще не поддерживается на мобильных устройствах. –