2012-03-08 2 views
0

객체가 현재 ActionScript3에있는 참조 (예 : 수신기, 어린이 등)를 나열 할 수 있는지 아는 사람이 있습니까?객체의 AS3 목록 참조

가비지 수집을 위해 준비된 메모리에서 객체를 지우려고하고 있지만 어떤 이유로 그것이 주위에 걸려 있습니다.

감사합니다.

+0

[이 질문] (http://stackoverflow.com/questions/3405808/how-to-remove-all-event-listeners-in-flex)이 도움이 될 수 있습니다. –

+1

이렇게하는 방법이 있다면 처음부터주의를 기울이지 않는 한 GC를 준비하는 것이 쉽지 않을 것입니다. – Marty

+0

내가 가장 좋은 방법은 인덱스 기본 객체가 될 것이며 remove() 함수를 추가하여 해당 참조가 null에 대한 참조를 설정하고 배열, 하위 객체, 자식을 제거하고 이벤트 리스너를 제거하는 것입니다. GC에 대해 신경을 써서,이 클래스를 인덱스로 사용하고 리스너 [https://github.com/turbosqel/as3SupportLib/blob/master/as3SupportLib/src/turbosqel/events/SoftEventDispatcher.as]를 제거하고 각 객체에 add 참조 및 인스턴스를 삭제하고 제거하는 기능을 제거하십시오. – turbosqel

답변

2

플래시 빌더가있는 경우 앱을 프로파일 링하면 필요한 것을 제공해야합니다. 그렇지 않으면 flash.sampler. * api를 사용하여 간단한 프로파일 러를 만들 수 있습니다.

+0

답변 해 주셔서 감사합니다. 나는 Flash Pro에서 일하고있다. 참조를 나열하는 특정 샘플러 방법을 사용 했습니까? 나는 API 문서를 살펴 봤지만 적합한 것은 볼 수 없다. – crooksy88

+0

작업을 완료하는 단일 API가 없습니다. http://gskinner.com/blog/archives/2010/04/the_flash_sampl.html에서 API에 대한 개요를 볼 수 있습니다. 지금 당장은 코드가 없지만, 내가 알기로했던 오브젝트가 월요일에있을 수도 있습니다. – catholicon

0

수동으로 모든 개체를 검사하는 것 외에는 방법이 없습니다. 이는 분명히 유료 서비스가 아닙니다. 솔루션 : 코드를 작성할 때 learn2plan을 사용하여 물건을 함께 치지 마십시오. 어떤 객체가 어떤 객체와 대화하고 있는지 알지 못하는 방식으로 코드를 작성한다면, 잘못하고있는 것입니다.

+2

동의. 불행히도 저는 상속 된 프로젝트를 진행하고 있습니다. – crooksy88

+0

나는 사람들이 나에게 이것에 대한 downvotes를 줄 것이라고 슬프다. 그것은 꽤 간단합니다. 그리고 질문을하는 사람조차 저와 동의했습니다. 객체가 프로그램의 다른 객체에 어떻게 묶여 있는지, 특히 GC 실행을 멈추는 시점까지 객체가 어떻게 연결되어 있는지 알지 못하면 프로그래밍이 당신을위한 것인지 아닌지를 재고해야합니다. 솔직히, 그것이 나쁘다. 그러나 제발, drive-by downvotes를 계속하십시오. 나는 그것이 진리이기 때문에 대답을 제거하지 않을 것이다. –