00.Flex,Flash,ActionScript2014. 8. 20. 13:49
반응형

[FLEX] Memory leak 문제

Flex Memory Leak 해결 방법

1. addEventListener로 등록된 모든 이벤트들을 removeEventListener로 삭제한다.
- target.addEventListener(eventName,returnFuntion);
- target.removeEventListener(eventName,returnFuntion);

2. 객체타입 멤버 속성들을 null로 셋팅한다.
- 로컬 변수들은 자동으로 소멸되기 때문에 별다른 신경을 쓸 필요가 없지만 멤버 변수로 정의된 객체 타입의 변수들은
인스턴스가 소멸될때 반드시 null로 처리 해야한다.

public class BarGaugeGrid extends ContentBox
{
//멤버 변수
private var _barCount:int = 5;
private var _dataProvider:ArrayCollection;
private var textField:Label;
private var valueLabelField:Label;
private var itemValues:Array = [];
private var dataChanged:Boolean = false;
public function BarGaugeGrid()
{
super();
layout = "vertical";
setStyle("verticalGap", 0);
}

...
public function destroy():void
{
_dataProvider = null;
textField = null;
valueLabelField = null;
itemValues = null;
}



위 2가지만 지켜진다면 대부분의 Memory Leak문제들은 해결된다.


출처 : http://m.truesolution.co.kr/view.php?UID=2613

Posted by 1010