본문 바로가기

prev record

[2010.05.11.화요일] SharedObject

SharedObject  클래스는 사용자의 컴퓨터 또는 서버에서 제한된 양의 데이터를 읽고 저장하는 데 사용된다. swf의 어떤 값을 바꾸고 종료하고, 다시 실행하면 종료전에 바꼈던 값을 그대로 불러오는 기능을 한다.

아래는 FLV 미디어 플레이어 제작중에 볼륨값에다가 SharedObject를 적용시켰던 거다.

var _volumeSharObj:SharedObject;
var _flushStatus:String = null;

_volumeSharObj = SharedObject.getLocal("share-volume");

_volumeSharObj.data.savedValue = 0.5;

_flushStatus = _volumeSharObj.flush(10000);

videoVolume = _volumeSharObj.data.savedValue;


.getLocal() 은 현재 클라이언트에만 사용 가능한 로컬 영구 공유 객체에 대한 참조를 반환한다.

.flush() 는 로컬 영구 공유 객체를 로컬 파일에 즉시 기록한다. 이 메서드를 사용하지 않으면 공유 객체에 대한 참조가 존재하지 않아 가비지 컬렉션 작업에 의해 메모리에서 제거된다. 괄호안의 인자 값은 이 객체에 할당되어야 할 최소 디스크 크기(바이트)이다.

위와 같이 설정하고 다시 실행할때

videoVolume = _volumeSharObj.data.savedValue;

이것이 먼저 실행 되도록 하면, SharedObject 가 적용되어 종료전에 저장했던 0.5로 시작한다.