2010-01-07 7 views
0

스테이지에있는 객체를 파괴 할 때. 나는 보통 removeChild (this)를 호출하고 객체의 이벤트 리스너를 제거합니다. 이걸 내가 물건을 완전히 지우려면 어떻게해야합니까? 당신이 그것을 언로드 할 필요가로드 된 클래스의 경우 등 당신이 그들을 null로한다 DisplayObject 다른 참조를 보유 변수를 가지고 있다면 당신은, 당신이 사용하는 클래스로 가지고있는플래시 객체를 완전히 파괴합니다.

답변

0

그것은 ...의 의존

+0

스테이지에서 제거하고 null로 설정합니다. 이벤트 리스너도 제거합니다. – numerical25

+0

이벤트 리스너를 제거해야 할 필요가 없습니다. – Patrick

+0

약한 참조로 이벤트 리스너를 만들 수 있지만 이벤트 리스너가 객체의 마지막 대기 이벤트 인 경우 가비지 수집 될 수 있습니다. – Aaron

3

예 ... 일종의.

AS3에서는 개체를 파괴 할 수 없습니다. 할 수있는 모든 참조를 제거하면 가비지 수집에 사용할 수 있습니다. 다음 번에 GC를 실행하면 인 경우을 사용할 수 있습니다. 꽤 큰 주제이지만, 기본적으로 항상 모든 참조를 제거하는 것을 잊지 마십시오. 올바른 방향으로 갈 것입니다.

GC에 사용할 수있는 객체에서 코드를 실행할 수 있지만 홀수 일 수도 있지만주의해야합니다.

+0

그래서 나는 그들을 표시 개체에 대한 제거해야합니다. 그 후에 그들을 null ?? – numerical25

+0

모든 참조를 제거하는 데 필요한 모든 작업을 수행하십시오. 여기에는 표시 객체에서 해당 객체를 제거하는 것도 포함됩니다. 자세한 내용을 알고 싶다면 http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html – Allan

+0

Alan이 멋진 링크를 게시했습니다. 체크 아웃하십시오. 하지만 네, 분명히 디스플레이 목록에서 제거하고 모든 참조를 null로 만듭니다. 이벤트 리스너도 중지하고 타이머를 제거하십시오. –

관련 문제