Flex——IDispose½Ó¿Ú
ǰÑÔ
C/C++µÄ¿ª·¢£¬ÄÚ´æµÄ¹ÜÀíÊÇÊ®·ÖÖØÒªµÄ¿ÎÌ⣬·ÖÅäÄÚ´æÊ¹ÓúóÒª¼°Ê±ÊÍ·Å£¬·ñÔòÄÚ´æÐ¹Â©µ¼ÖÂÄÚ´æºÄ¾¡¡£½øÈëÍйܻ·¾³ºó£¬ÄÚ´æÄܹ»×Ô¶¯¹ÜÀíºÍ»ØÊÕ£¬ÒѾ²»Óÿª·¢ÕßÌ«²ÙÐÄÄÚ´æ¹ÜÀí·½ÃæµÄÎÊÌâÁË£¬ÔÚÍйܻ·¾³£¬¿ª·¢ÕßÈÔÈ»¿ÉÒÔ×öһЩ¹¤×÷£¬ÌṩÄÚ´æ»ØÊÕµÄЧÂÊ£¬ÀýÈ磬°ÑÀàÄÚ²¿µÄÒýÓöÔÏóÉèÖÃΪnullÊÇ×î»ù±¾µÄ¡£½è¼øÔÚ.net»·¾³ÏµÄIDisposeģʽ£¬ÏÖÔÚ£¬ÔÚFlex/AS3ÀïʵÏÖ¡£
IDispose½Ó¿Ú
Ê×Ïȶ¨Òå¿ØÖÆ×ÊÔ´ÊͷŵĽӿڡ£
package cwn.core
{
/*
* ÊÍ·Å×ÊÔ´½Ó¿Ú
*/
public interface IDispose
{
function Dispose():void;
}
}
ʵÏÖIDispose½Ó¿Ú
public class ClassA implements cwn.core.IDispose
{
private var _RefObject:Object;//ÒýÓø߼¶¶ÔÏó
public function ClassA()
{
}
private var _Disposed:Boolean = false;//ÊÍ·Å¿ØÖƱêÖ¾
protected function Disposing():void
{
}
public function Dispose():void
{
if (_Disposed)
return;
Disposing();//ÊÍ·ÅÅÉÉúÀàµÄ×ÊÔ´
_RefObject = null; //ÊÍ·ÅClassA×ÊÔ´
}
}
Disposing·½·¨ÊÇÅÉÉúÀàÊÍ·Å×ÊԴʱ°´ÐèÒªÖØÐ´µÄ£¬ÀýÈçÏÂÃæµÄClassB
public class ClassB extends ClassA
{
private var _RefObject2:Object;
public function ClassB()
{
super();
}
override protected function Disposing():void
Ïà¹ØÎĵµ£º
<mx:HSlider id="priceSlider" creationComplete="{HsilderChangeThumb(event)}"/>
<mx:Script>
<![CDATA[
private function HsilderChangeThumb(e:Event):void
{
var slider:HSlider = e.target as HSlider;
&nbs ......
½ñÌìÕÛÌÚÁË´ó°ëÌìFlashÓëFlex3µÄÅäºÏ£¬ÌØ×ܽáÒ»ÏÂÐĵÃÌå»á£º
1£© Èç¹ûÊÇͨ¹ýEmbedÀ´Ç¶ÈëswfµÄ»°£¬Flex3Ö»Ö§³ÖFlashCS2Ëù´´½¨µÄswf.
2) Èç¹ûÊÇͨ¹ýloaderÀ´¼ÓÔØµÄ»°£¬Ö»ÓÐAS3µÄswf²ÅÄÜÔÚ¼ÓÔØºó±»¿ØÖÆ£¨ÕâºÍµÚÒ»µãÏà·´£¬ÎÒ»¨Á˺ܳ¤Ê±¼ä²ÅŪÃ÷·¢ÏÖÕâÁ½µã£¬º¹£¡£©
3£© Èç¹ûÒªÖ±½Ó¼ÓÔØµ½Flexµ±ÖУ¬Àà±ØÐë¼Ì³ÐUIComponent£¬Õ ......
//»ñµÃÆÁÄ»µÄ·Ö±æÂÊ
var x:Number=Capabilities.screenResolutionX;
var y:Number=Capabilities.screenResolutionY;
Alert.show("x="+x+"y="+y);
µÚ¶þÖÖ·½·¨
Alert.show(stage.fullScreenWidth+"=="+stage.fullScreenHeight);
//»ñµÃstage£¨¹¤×÷Çø£©µÄ¿í¡¢¸ß
Alert.show(stage.stageWidth+"=="+stage.stageHei ......
Button×é¼þÑùʽÊôÐÔ
cornerRadius ±ß¿òÔ²½Ç¶È &nbs ......