2014-04-09 2 views
1

У меня есть предварительная загрузка и настройка моего приложения. фаза загрузки успешно завершена, но инициализация всегда застряла на 17% в течение примерно 1-3 минут (она меняется) и только после этого завершается.Flex preloader застрял на 17% при инициализации приложения

Я пытался найти его и попытался:

  1. поставить номер версии в файле index.html и изменить его на каждом развертывании, как это:

    swfobject.embedSWF("Main.swf?ver=0.027", "flashContent", "100%", "100%", "10.2", null, null, {name:"flashContent"}, {"wmode" : "transparent"}, cb); 
    
  2. попытался пользователь анализатор flex, чтобы увидеть, какой модуль удерживает его, но мне не удалось работать с ним на этапе предварительной загрузки (только после загрузки приложения).

все, что я могу сделать, чтобы найти источник проблемы?

UPDATE: обнаружил, что проблема связана с использованием gzip с сервера при извлечении клиента flex. проблема в том, что я работаю с движком Google, и у них есть ошибка, которая говорит о том, что вы не можете отключить сжатие gzip, если ваш браузер поддерживает это. с другой стороны, flex запрещает разработчику отключать gzip (если кто-то знает, как отключить его от прелоадера, пожалуйста, поделитесь). любая идея приветствуется.

UPDATE2: gzip не работал, поэтому я продолжал поиск и выяснил, что он висит перед вызовом nextFrame(). currentFrame всегда имеет значение null в системном диспетчере, и событие ENTER_FRAME запускается один за другим, но без изменения значения currentFrame. что я могу сделать, чтобы найти источник проблемы?

ответ

1

ok Я нашел ответ. google использует chunked encoding для отправки статических файлов (не может быть изменено), и preloader думает после первого куска, что он закончил загрузку всего swf, таким образом, застрял на следующем этапе.

, чтобы увидеть мое решение, которое вы можете ввести здесь, надеюсь, это поможет кому-то:

http://forums.adobe.com/thread/1446930

Смежные вопросы