Question

J'ai une base de données avec plus de 6000 entrées. J'utilise cet exemple http: // eshyu .wordpress.com / 2010/08/15 / CursorAdapter-avec-alphabet-section indexées en-têtes / pour afficher le contenu. Mais maintenant, l'activité ne peut pas gérer. Je reçois un ANR de dialogue des chaque fois. Comment gérer efficacement cette situation?

Était-ce utile?

La solution

Il n'a pas de sens de passer par chaque entrée et demander à l'indexeur sur la section Wich qui appartient à l'entrée. Dans votre cas, l'indexeur peut être fait 6000 recherches binaires. Ensuite puting ce résultat dans une carte qui aura moins de 30 entrées et de faire beaucoup d'écrasements.

Il est également pas une bonne idée d'abuser de la sectionToPosition Carte pour créer une section à partir postion.

A. Vous préparez soit une table contenant les statistiques, ce qui serait la meilleure façon de gérer autant de données.

B. Vous pouvez utiliser la base de données pour compter le nombre d'entrées pour chaque section et de construire votre propre section à partir de la carte pos.

SELECT UPPER(SUBSTR(LTRIM(side_a), 1, 1)), COUNT(*) FROM cards GROUP BY 1 ORDER BY 1 ASC;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top