2011-06-21 4 views

Répondre

3

La meilleure façon d'être rapide est de ne pas travailler avec des collections contenant des milliers d'éléments.

Quelle partie est lente?

En lecture depuis IsolatedStorage, lisez moins.
Si vous n'avez pas besoin de toutes les données, placez-les dans des fichiers plus petits (divisez les données) et ne chargez les fichiers que lorsque vous en avez besoin, pas toutes les données à la fois. Selon les données et l'application affectera comment et si cela peut être fait.

Si vous chargez de grandes quantités de données dans un ListBox, ne le faites pas.
Le ListBox n'est pas conçu pour contenir des milliers d'éléments. Du point de vue de la convivialité, il est très difficile de trouver des éléments spécifiques dans une très grande liste. Surtout quand vous ne pouvez voir qu'un très petit nombre d'éléments (sur l'écran) à la fois.
Envisagez d'utiliser un LongListSelector ou de virtualiser la liste pour améliorer les performances.

Je recommande fortement une autre conception d'application qui n'a pas besoin d'une longue liste si.

0

Si vous lisez réellement les fichiers eux-mêmes à partir du stockage isolé dans votre liste, vous pouvez probablement améliorer vos performances en stockant les métadonnées de fichier dans un fichier XML ou dans une base de données quelconque. Pour Windows Phone 7.0, vous pouvez utiliser SterlingDB, qui est une abstraction par rapport à Isolated Storage qui vous permet d'effectuer des requêtes SQL par rapport aux données stockées dans le système de fichiers de l'application. Créer une liste avec des milliers d'éléments semble être une mauvaise idée, mais si vous avez un fichier XML avec les noms de fichiers et les données, vous obtiendrez probablement de bien meilleures performances que si vous essayez de parcourir des milliers des fichiers et retirer les noms de fichiers.

Questions connexes