Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Зависание при обработке больших soap ответов (http://www.flasher.ru/forum/showthread.php?t=203113)

Iceman 02.09.2013 09:07

Зависание при обработке больших soap ответов
 
Добрый день! Есть проблема подвисания приложения при получении большого ответа от сервера, ответ соап около 2х мегабайт, в котором содержится кучка объектов. Понятно, что клиент при получении xml начинает создавать объекты. При анализе в Scout видно, при event "complete" около 60% времени уходит на код ActionScript, еще около 40% уходит на сборщик мусора, который запускается большую кучу раз.

Есть ли какие варианты по оптимизации данного процесса? Может есть какой-нибудь способ управления сборщиком, выключить его на время (чувствуется такое невозможно)?

Iceman 02.09.2013 17:52

Цитата:

Сообщение от okouser (Сообщение 1145293)
Если объектов очень много, нужно их обрабатывать порциями в обработчике ENTER_FRAME.

Спасибо за ответ.
Где-то уже читал про обработку написанной логики таким способом. А реально это сделать именно для обработки ответа сервера? Так как зависание происходит на уровне работы сдк флекс, до генерации события response.

MikroAcse 02.09.2013 18:40

Если не не мобильные, то есть Worker'ы.
ENTER_FRAME уже прошлый век для флеша десктопного.

Iceman 03.09.2013 05:56

Цитата:

Сообщение от MikroAcse (Сообщение 1145313)
Если не не мобильные, то есть Worker'ы.
ENTER_FRAME уже прошлый век для флеша десктопного.

А у нас приложение на 3 сдк :( а с миграцией все плохо..

Цитата:

Сообщение от okouser (Сообщение 1145311)
А что-то тут нереального?!
Попробуйте. В момент COMPLETE создаете обработчик ENTER_FRAME, обрабатываете там определенными порциями (тут поле для экспериментов) данные, и затем отписываетесь от ENTER_FRAME.

Если не затруднит, может направите туда, где более или менее подробно почитать можно про это?

Fogflasher 03.09.2013 10:05

MicroAcse, скажите, а что такое Worker'ы ?

Rivexe 03.09.2013 12:55

Цитата:

Сообщение от Fogflasher (Сообщение 1145356)
MicroAcse, скажите, а что такое Worker'ы ?

Worker

Iceman 03.09.2013 15:11

Цитата:

Сообщение от okouser (Сообщение 1145394)
А если нужна совместимость с FP 11.2 и AIR 2.6?

А я буквально на днях сам искал другие варианты.
Вот тема:
http://www.flasher.ru/forum/showthread.php?t=203104

Спасибо!

Добавлено через 42 часа 19 минут
Так, как организовать асинхронную обработку в принципе вроде понятно.. остается вопрос
Цитата:

Сообщение от okouser (Сообщение 1145311)
В момент COMPLETE создаете обработчик

Как же выловить этот момент? Как отменить обработку ответа флэшем, или переделать с использованием способа с ENTER_FRAME?


Часовой пояс GMT +4, время: 22:02.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.