Consumo de memoria no coletor Symbol

Bom pessoal,
A algum tempo fiz uma aplicação para o coletor Symbol, porém, sempre ficou lento e eu nunca tive um tempinho para resolver.

Hoje resolvi dar uma pesquisada e não consegui achar uma solução, então, aqui estou.

Estenho uma aplicação que lê o código de barras, faz diversas validações na base de dados e então insere em uma tabela a informação lida. Blz…
só que a cada pistolada, faço diversas validações e sempre vou atribuindo em uma string,

Ex:

if (ContagemtxtCodBar.getText().length() == 8) { CodBar = ContagemtxtCodBar.getText().substring(1, 7); if (CodBar.substring(0, 1).equals("0")) { CodBar = Integer.toString(Integer.parseInt(CodBar)); } } else if (ContagemtxtCodBar.getText().length() == 13) { CodBar = ContagemtxtCodBar.getText().substring(1, 12); if (CodBar.substring(0, 1).equals("0")) { CodBar = Integer.toString(Integer.parseInt(CodBar)); } } else { CodBar = ContagemtxtCodBar.getText(); }

Minha dúvida é, quando faço a primeira leitura com o código de barras e faço toda assas validações, na segunda leitura, eu sobreponho a informação da memoria que é referenciada na CodBar ou a JVM (Nsicom) deixa ela perdida na memoria? Já fiz de tudo para tentar reduzir o consumo de memoria do palm e a cada leitura, so faz consumir mais e mais… nunca desce. Fiz os testes com o FreeMemory e realmente, ca vez a quantidade de memoria livre baixa.

Alguém consegue me ajudar? se não fui claro, pode pedir mais detalhes…

Cara, simplifica esse IF:

//SUBSTITUI ISSO

if (ContagemtxtCodBar.getText().length() == 8) { CodBar = ContagemtxtCodBar.getText().substring(1, 7); if (CodBar.substring(0, 1).equals("0")) { CodBar = Integer.toString(Integer.parseInt(CodBar)); } } else if (ContagemtxtCodBar.getText().length() == 13) { CodBar = ContagemtxtCodBar.getText().substring(1, 12); if (CodBar.substring(0, 1).equals("0")) { CodBar = Integer.toString(Integer.parseInt(CodBar)); } } else { CodBar = ContagemtxtCodBar.getText(); }
//POR ISSO

[i]CodBar = ContagemtxtCodBar.getText().substring(1, (ContagemtxtCodBar.getText().length() - 1)); if (CodBar.substring(0, 1).equals("0")) { CodBar = Integer.toString(Integer.parseInt(CodBar)); } [/i]
Experimenta também utilizar stringBuffer para concatenar strings. Exemplo:
Ao invés de fazer:
var1 = var1 + "AAA"
var1 = var1 + "BBB"
var1 = var1 + “CCC”

Faça:
varStringBuffer.append(var1)
varStringBuffer.append(“AAA”)
varStringBuffer.append(“BBB”)
varStringBuffer.append(“CCC”)

Concatenar variáveis consome muuuiiita memória.