четверг, января 28, 2010

Баг при переименовании класса во Flex Builder

Заметил интересный баг: если переименовать класс в одном проекте, то старательный Flex Builder переименует одноименные классы в других проектах. Точнее названия файлов он оставит старые, а внутри все перелопатит.

вторник, января 12, 2010

Утечка памяти в IE 8

Столкнулся со следующей проблемой. Есть простое приложение, использующее ExternalInterface.addCallback:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
applicationComplete="appCompleteHandler();">
<mx:Script>
<![CDATA[
private function appCompleteHandler():void {
if (ExternalInterface.available) {
ExternalInterface.addCallback("getWidth", getWidth);
}
}

private function getWidth():Number {
return width;
}
]]>
</mx:Script>
</mx:Application>

Флешка вставлена через swfobject. В IE8 при перезагрузке страницы видно, что память отданная под страничку с флешом не освобождается, что приводит к падению браузера через несколько перезагрузок. Немного поискав, нашел в swfobject 2.2 метод:

swfobject.removeSWF(objElemIdStr)

Removes a SWF from your web page. Is especially built to safely (only remove a SWF after it has been loaded, to avoid broken references) and completely (nullify references to avoid memory leaks) remove a SWF in Internet Explorer.

И помогло :)