XML With SimpleXML Library - Desempenho no Android

Estou usando oSimple XML library para processar arquivos XML no meu aplicativo Android. Esses arquivos podem ficar bem grandes - em torno de 1Mb e podem ser aninhados profundamente, por isso são bastante complexo

Quando o aplicativo carrega um desses arquivos, por meio da API simples, pode levar até 30 segundos para ser concluído. Atualmente, estou passando um FileInputStream para o método [read (Class, InputStream)] [2] da classe Persister do Simple. Efetivamente, ele apenas lê os nós XML e mapeia os dados para instâncias dos meus objetos de modelo, replicando a estrutura da árvore XML na memóri

Minha pergunta é como melhorar o desempenho no Android? Meu pensamento atual seria ler o conteúdo do arquivo em uma matriz de bytes e passar um ByteArrayInputStream para o método de leitura do Persister. Imagino que o tempo para processar o arquivo seria mais rápido, mas não tenho certeza se o tempo economizado seria compensado pelo tempo necessário para ler o arquivo inteiro primeiro. Também restrições de memória podem ser um problem

Isso é uma tarefa tola? Há mais alguma coisa que eu possa fazer para aumentar o desempenho nessa situação? Caso contrário, terei apenas que melhorar o feedback para o usuário sobre o andamento do carregamento do arquiv

lgumas advertências:

1) Não consigo alterar a biblioteca XML que estou usando - o código em questão faz parte de um "mecanismo" usado em aplicativos para desktop, dispositivos móveis e web. A sobrecarga para mudar isso seria demais para o timebein

2) Os arquivos de dados são criados pelos usuários, para que eu não tenha controle sobre o tamanho / profundidade do aninhamento nele

questionAnswers(1)

yourAnswerToTheQuestion