2011-10-04 5 views
0

ActionScript의 약한 참조에 대한 기사를 읽었습니다. 두 가지 유형이 있습니다.ActionScript 및 약한 참조 동작

  1. Dictionary 클래스의 트릭.
  2. EventDispatcher 클래스.

약하게 참조 된 개체가 사라질 것으로 예상했습니다. 즉시 마지막 강한 참조가 제거되었습니다. (GC 동작과 관계 없음) 그러나 이러한 트릭은 그렇게 작동하지 않았습니다. 참조 된 객체는 약하게 만 살아 있으며 다음 GC 시간에는 사라집니다. 모든 강력한 참조를 제거해도 객체 그래프에서 약하게 참조 된 객체가 사라지지 않았습니다. (나는 즉시 삭제되지 않을 것이라는 것을 안다)

나는 틀린가 아니면 ActionScript가 다른 행동을 사용하고 있는가?

답변

0

예, 모든 약한 참조는 GC가 객체에 대한 참조로 간주하지 않는다는 것을 의미합니다. 참조 카운팅은 객체가 아직 사용 중임을 알 수있는 방법 중 하나입니다. 메모리를 회수하기 전에 가비지 수집을 실행해야합니다. http://divillysausages.com/blog/tracking_memory_leaks_in_as3 (내 자신의 사이트) 또는 : 당신이 쓰레기 수집이 작동하는 방법에 대한 개요를 원하는 경우

것을 확인 http://jpauclair.net/2009/12/23/tamarin-part-iii-current-garbage-collector-in-flash-10-0/가 (깊이에서 정말 간다)

관련 문제