2011-08-29 5 views

답변

3

"제거해야"하는지 여부는 원하는 작업에 따라 다릅니다. 가비지 컬렉터의 표시 목록에서 이들을 제거하고 (메모리를 확보하려면) removeChild()을 사용하여이를 제거해야합니다. Flash Pro에서 키 프레임을 지우면 객체가 스테이지에서 제거되지만, 객체가 메모리에서 제거되는지 여부는 확실하지 않습니다. 예를 들어 반복되는 MovieClip과 같이 다시 나타날 때까지 유지 될 수 있기 때문입니다.)

delete 키워드는 ActionScript에서 거의 사용되지 않으며 특히 객체 메모리를 할당 해제하는 데 사용되는 C++와 같은 방식으로 사용되지 않습니다. 대신 delete은 동적 객체에서 속성을 제거하는 데에만 사용할 수 있습니다.

var obj : Object = {}; 
obj.name = 'foo'; // Creating the name property on dynamic Object 
delete obj.name; // Removing the name property 
trace(obj.name); // "undefined" 

질문을 명확히하십시오. 약간의 맥락을 제시한다면, 당신이 정말로 묻고있는 것을 결론 짓고 더 적절한 답을내는 것이 더 쉬울 수도 있습니다.

+0

개체를 스테이지에서 제거하면 개체에 대한 참조가없는 경우 GC를 사용하는 경우에만 해제됩니다. – shanethehat

+1

@shanethehat, 맞습니다, 그리고 유효한 포인트. 내가 말하고자하는 것은 그것이 수집되기 위해서는 무대에서 대상을 제거해야한다는 것입니다. 종종 더 많은 것들이 필요할 것이지만, 질문은 메모리 관리에 관한 것이 아니기 때문에 그것에 대해 자세히 설명하고 싶지는 않습니다. – richardolsson

관련 문제