나는 TabbedViewNavigatorApplication 인 나의 첫 번째 플렉스 모바일 애플리케이션을 개발했다. 응용 프로그램은 정상적으로 작동하지만 "프로파일 처리기"에서 응용 프로그램을 테스트 할 때 응용 프로그램을 탐색 할 때 메모리 사용이 증가합니다. 그 사실을 알게되었을 때 추가 된 모든 이벤트 리스너를 제거해야하고 더 이상 필요없는 오브젝트를 무효화해야합니다. 탭 사이를 전환하면 탭이 몇 번이고 다시 초기화됩니다.플렉스 모바일 프로젝트 : 메모리 관리
어디서 eventlisteners를 제거 할 수 있는지 알지 못합니다. 내 말은, 나는 각 eventlisteners에 대한 함수를 작성했다. 컨트롤이 함수 정의로 넘어갈 때 eventListener를 제거해야합니까?
나는 또한 샘플 코드를
var more:Image = new Image();
more.width = 70;
more.height=29;
more.x=10;
more.y=276;
more.source = "Assets/more button.png";
more.addEventListener(MouseEvent.CLICK, MORE_clickHandler);
mainGroup.addElement(more);
private function MORE_clickHandler(e:MouseEvent):void {
// Do I need to remove the eventlistener here
}
서면 내가 명시 적으로 내가 만든 또는 가비지 컬렉터가 그것을 처리 할 이미지 클래스의 객체를 무효화해야하나요했다. 명시 적으로 무효화해야 할 경우,이를 수행 할 위치.
감사합니다.
안녕 J_A_X, 제거 할 방법 및 위치 이벤트 리스너 및 참조하는 변수를 무효화 할 위치입니다. 제발 저에게 예제를 보여 주시겠습니까 –
당신이 성취하려고하는 행동에 의존하기 때문에 예제를 보여 드릴 수 없습니다. 'removeEventListener'를 호출하고,'removeElement'를 사용하여 디스플레이리스트에서 제거하고'yourVar = null;'을하는 것만 큼 간단합니다. –
감사합니다. J_A_X, 내가 할게요 –