AS3를 쓰는 데는 좋은 인코딩 습관이 필요하다
1668 단어 as3
AS3의 쓰레기 회수는 자동이기 때문에, 인용된 대상이 있거나 삭제된 사건이 있는지 확인하면, unload와removed Child가 있을 때 메모리에서 완전히 제거할 수 없습니다.
그래서 우리는 코드를 쓸 때 반드시 기억해야 한다.
변수 또는 참조를 선언한 경우 다음을 수행하여 삭제해야 합니다.
var _mc=_movieClip
......
_mc=null
만약 하나의 그룹이 있다면, 안에 저장된 많은 다른 대상의 인용이 있다면, 이 그룹을null로 설정하는 것만으로는 안 되고, 모든 요소의 값도 비어 있는arr[i]=null로 설정해야 한다. 예를 들어
var _arry:Array=new Array();
for (var i=0; i<_mc.numChildren; i++) {
var _mc = _mc.getChildAt(i) as MovieClip;
arry.push(_mc);
}
clear:
for (var i=0; i<_arry.length; i++) {
_arry[i] = null;
}
_arry = [];
2. 사건 수사도 제때에 제거해야 한다.
구체적으로 코드 세그먼트를 보십시오.
function removeSelf(e:Event):void {
trace("remove me now....");
removeEventListener(Event.ADDED_TO_STAGE, addStage);
stage.removeEventListener(gamestate.GAMEBOX_NOTICE_CLOSED, toReady);
removeEventListener(Event.REMOVED_FROM_STAGE, removeSelf);
_lostTimer.removeEventListener(TimerEvent.TIMER, setLeftTime);
try {
new LocalConnection.connect("foo");
new LocalConnection.connect("foo");
} catch (error:Error) {
}
System.gc();
}
addEventListener(Event.REMOVED_FROM_STAGE,removeSelf);//
3. 쓰레기 수거를 강제한다.
try {
new LocalConnection .connect("foo");
new LocalConnection .connect("foo");
} catch (error:Error) {
}
System.gc();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS3를 쓰는 데는 좋은 인코딩 습관이 필요하다AS3의 쓰레기 회수는 자동이기 때문에, 인용된 대상이 있거나 삭제된 사건이 있는지 확인하면, unload와removed Child가 있을 때 메모리에서 완전히 제거할 수 없습니다. 그래서 우리는 코드를 쓸 때 반드...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.