비영구적으로 객체 저장

런타임 저장소는 스마트폰에서 프로그램이 정보를 저장하고 공유할 수 있는 중앙 위치를 제공합니다. 스마트폰이 다시 시작할 때에는 런타임 저장소에 있는 데이터가 저장되지 않습니다. RuntimeStore API는 BlackBerry Device Software 3.6에서 도입되었습니다.

런타임 저장소는 net.rim.device.api.system.RuntimeStore 클래스에 구현되어 있습니다.

객체는 key-value 쌍을 사용하여 저장됩니다. 런타임 저장소에 객체를 저장할 때, 객체에 long 형식의 고유 ID를 지정하고 나중에 이 ID를 사용하여 저장소에서 객체를 가져옵니다. Eclipse 편집기에서 정규화된 클래스 이름을 마우스 오른쪽 버튼으로 클릭하고 Convert 'name' to long을 클릭하여 고유 ID를 생성할 수 있습니다.

주: 프로그램이 종료되기 전에 런타임 저장소에 있는 객체 중 프로그램이 더 이상 필요로 하지 않는 객체를 제거합니다. 런타임 저장소에 객체 인스턴스를 추가한 후 제거하지 않을 경우 메모리 누수가 발생할 수 있습니다.

런타임 저장소의 일반 용도

런타임 저장소를 사용하여 모든 객체를 저장할 수 있고 다른 프로세스 또는 다른 프로그램에서 객체를 가져올 수 있습니다. 또한 데이터에 대한 액세스를 제한할 수도 있습니다.

다음은 런타임 저장소의 몇 가지 일반 용도입니다.

시스템 전역 싱글톤을 구현

프로그램이 프로그램 자체에서 또는 다른 프로그램에 의해 하나 이상의 싱글톤 객체가 액세스되도록 요구할 수 있습니다.

두 프로그램 간 데이터 공유

예를 들어, 한 프로그램 제품군이 여러 프로그램으로 구성되고 각 프로그램이 단말기로 푸시되는 데이터를 사용할 수 있습니다. 프로그램 중 하나가 모든 푸시 데이터를 수신하고 이 데이터를 런타임 저장소에 임시로 저장하여 다른 프로그램과 공유합니다. 런타임 저장소는 수신기(예: PushListener)와 실행 프로그램 간 통신을 설정하는 데에도 사용될 수 있습니다.

나중에 사용하기 위해 참조를 객체에 저장

예를 들어, BlackBerry 단말기 사용자가 ApplicationMenuItem을 추가 및 제거하도록 허용하는 프로그램이 런타임 저장소를 사용하여 등록된 ApplicationMenuItem에 참조를 저장할 수 있습니다. 프로그램이 종료했다 다시 시작한 후에 ApplicationMenuItem이 액세스되어 등록이 해제될 수 있습니다.


이 정보가 도움이 되었습니까? 의견을 보내 주십시오.