Armazenamento não-persistente de objetos

O armazenamento em tempo de execução fornece uma localização central de aplicativos para armazenar e compartilhar informações em um smartphone. Os dados no armazenamento em tempo de execução não são salvos quando o smartphone é reiniciado. A API RuntimeStore foi introduzida com o BlackBerry Device Software 3.6.

O armazenamento em tempo de execução é implementado na classe net.rim.device.api.system.RuntimeStore.

Os objetos são armazenados usando um par de chave-valor. Quando armazena um objeto no armazenamento em tempo de execução, você atribui ao objeto uma ID exclusiva de tipo longo e, posteriormente, usa a ID para recuperar o objeto do armazenamento. Você pode gerar a ID exclusiva no editor Eclipse clicando com o botão direito do mouse no nome de classe plenamente qualificado e clicando em Convert 'name' to long.

Nota: Antes que seu aplicativo feche, remova os objetos do armazenamento em tempo de execução que seu aplicativo não requer mais. Se você adicionar uma instância de objeto ao armazenamento em tempo de execução e não o remover, você pode criar um vazamento de memória.

Usos comuns do armazenamento em tempo de execução

Você pode usar o armazenamento em tempo de execução para armazenar qualquer objeto e para recuperar o objeto de um processo diferente ou de um aplicativo diferente. Você também pode restringir o acesso aos dados.

Veja aqui alguns usos comuns do armazenamento em tempo de execução:

Implementar singletons em todo o sistema

Um aplicativo talvez requeira que um ou mais objetos singleton sejam acessados de dentro do aplicativo ou por outros aplicativos.

Compartilhar dados entre dois aplicativos

Por exemplo, um conjunto de aplicativos pode ser composto de vários aplicativos, todos utilizando-se de dados que são enviados ao aparelho. Um dos aplicativos recebe todos os dados enviados por "push" e os compartilha com os outros aplicativos através do armazenamento temporário dos dados no armazenamento em tempo de execução. O armazenamento em tempo de execução também pode ser usado para configurar a comunicação entre um ouvinte (como um PushListener) e um aplicativo em execução.

Armazenar uma referência a um objeto para uso posterior

Por exemplo, um aplicativo que permita a um usuário do aparelho BlackBerry adicionar e remover um ApplicationMenuItem pode usar o armazenamento em tempo de execução para armazenar uma referência a um ApplicationMenuItem que ele tenha registrado. Depois que o aplicativo é fechado e reaberto, o ApplicationMenuItem pode ser acessado e, seu registro, cancelado.


Estas informações foram úteis? Gostaríamos de receber seus comentários.