2011-03-19 3 views
0

J'écris un jeu Android qui utilise un AsyncTask lorsque l'application commence à faire évoluer les graphiques et à couper des feuilles de sprites en tableaux de Bitmaps.Temps de chargement de l'application variable en utilisant AsyncTask

Le problème est que le temps de chargement au début de l'application ne semble pas être cohérent. Lors d'un test sur mon téléphone (HTC MyTouch/Magic) le temps de chargement lorsque je lance l'application après l'installation est souvent de l'ordre de 0,5 seconde mais prend parfois jusqu'à 2 secondes.

Y at-il une raison pour laquelle cela pourrait être le cas ou est-ce inévitable? Chaque fois que j'ai lancé l'application, elle fonctionne dans les mêmes conditions, sans programme supplémentaire en arrière-plan, etc.

Je peux ajouter le code AsyncTask si cela peut vous aider.

Merci pour votre aide à l'avance.

+0

J'ai vu des écarts beaucoup plus importants dans les temps de chargement d'une application que j'ai écrite avec certaines applications téléchargées. Je ne peux que l'attribuer à l'OS lui-même et au traitement qu'il fait au moment du lancement de l'application. Je suis sûr qu'il existe des possibilités de votre propre code causant des problèmes en fonction de ce qu'il fait, surtout s'il s'agit d'un serveur. – user432209

+0

Vous pouvez regarder ceci: http://developer.android.com/videos/index.html#v=c4znvD-7VDA – user634618

+0

Bravo pour ces commentaires. La vidéo semble définitivement utile. – woodstock365

Répondre

1

Y at-il une raison pour laquelle cela pourrait être le cas ou est-ce inévitable?

Il y a plusieurs raisons possibles pour lesquelles cela pourrait être le cas, et elles sont inévitables. Voici deux qui apparaissent à l'esprit:

  • Même si vous pensez qu'il ya « pas de programmes supplémentaires en cours d'exécution en arrière-plan », le système d'exploitation peut être en désaccord avec vous
  • Si vous lisez les données de stockage flash, l'accès les temps peuvent être variables en raison des particularités de YAFFS2 (par exemple, verrouillage global pour une partition entière)

De plus, n'oubliez pas que les vitesses CPU et flash du périphérique varieront d'elles-mêmes. Alors que votre appareil est, euh, dans la partie lente, il y en a peut-être qui sont encore plus lents, et il y en aura beaucoup qui sont plus rapides.

+0

Merci pour votre réponse. Je suppose que la plupart des appareils ont un processeur cadencé à 1 GHz ces jours-ci, donc le temps passé sur mon téléphone devrait être une limite supérieure. Je vais jouer avec un peu plus pour voir si je peux économiser un peu plus de temps lors du chargement. – woodstock365

Questions connexes