Gerenciamento de memória baixa

Quando a memória disponível em um smartphone BlackBerry cai abaixo do limite que o smartphone requer para funcionar corretamente, o Gerenciador de pouca memória tenta disponibilizar mais memória. O Gerenciador de pouca memória dá prioridade a objetos na memória e marca os objetos menos críticos para exclusão pelo BlackBerry Java Virtual Machine. As mensagens abertas e entradas de calendário mais antigas geralmente são excluídas primeiro.

A API Gerenciador de pouca memória é implementada em net.rim.device.api.lowmemory.

Você deve projetar seu aplicativo para funcionar com o Gerenciador de pouca memória para disponibilizar o máximo de memória possível quando o smartphone estiver com poucos recursos de memória. Para isso, implemente a interface LowMemoryListener e registre-a no Gerenciador de pouca memória chamando o método estático LowMemoryManager.addLowMemoryListener().

A interface LowMemoryListener tem um único método, freeStaleObject(), que é invocado pelo Gerenciador de pouca memória quando é necessário disponibilizar memória. Quando invoca freeStaleObject(), o Gerenciador de pouca memória passa um parâmetro de prioridade para indicar que está iniciando uma solicitação de recuperação de memória alta, média ou baixa. Lembre-se de retornar true de freeStaleObject() se liberar recursos, ou, do contrário, false. Isso é importante porque o Gerenciador de pouca memória necessita da contagem exata do andamento de liberação de memória.

Identificar baixa disponibilidade de memória

A seguinte condição pode fazer com que o Gerenciador de pouca memória tente liberar recursos de memória:

  • A quantidade de memória disponível no smartphone fica abaixo de um determinado limite. O limite depende da quantidade de RAM disponível no sistema. O limite de memória varia entre 400 KB e 800 KB.
  • O número de handles de objeto persistentes disponíveis no smartphone fica abaixo de 1.000.
  • O número de handles de objeto disponíveis no smartphone fica abaixo de 1.000.

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