Otros consejos

En lugar de tener un gran archivo que contiene todos los datos puede que no se descomponen en un montón de archivos más pequeños. (Uno para cada ciudad?)

podría tener un archivo separado para mantener un índice de todos ellos si es necesario. Por otra parte, en función de los nombres de los archivos, es posible que pueda utilizar IsolatedStorageFile.GetFileNames para obtener una lista de todos los archivos.

Me gustaría crear mi propio formato de archivo, utilizando, por ejemplo, un separador entre los campos, con una fila para cada registro. De esa manera se puede leer el archivo línea por línea para llenar su estructura de datos con estas ventajas:

  1. hay necesidad de tirar de todo el archivo en la memoria
  2. ninguna sobrecarga XML (en una aplicación de escritorio que puede no ser un problema, pero en el contexto de teléfono un archivo de texto 5 MB puede llegar a ser un poco más pequeño)

ejemplo Dumb:

New York City; 12345
Berlin; 25635
...

EDIT: dado que el volumen no es tan grande que no es necesario ningún tipo de indexación o carga bajo demanda. Me almacenar las ciudades como se ha dicho registro, una por línea-, cargarlos en una lista y el uso de LINQ para seleccionar los elementos que necesita. Esto probablemente será rápido y mantener su aplicación muy sensible.

En este caso, en mi opinión, XML no es la mejor herramienta para el trabajo. Su estructura es muy simple y el almacenamiento en XML, probablemente el doble del tamaño del archivo, que es una preocupación para un dispositivo móvil, y que también ralentizar el análisis, también es una preocupación en este caso.

scroll top