J'essaie d'apprendre les ficelles du développement de jeux et d'Android et ça a été une expérience d'apprentissage géniale jusqu'à présent, mais les trucs Android Activity Lifecycle m'a un peu bloqué.Android Game Singleton ou Application ou aucun
Disons que j'ai trois activités -
- Menu Jeu
- Sélection du niveau
- Le jeu réel (jeu 2d en utilisant la
SurfaceView
).
Je pense que je dois charger tous les bitmaps et sons en dehors de l'activité de jeu réel pour éviter d'avoir à décharger et les recharger à chaque fois onDestroy
et onCreate
est appelé, par exemple, comme lorsque le téléphone se met en veille, ou chaque fois qu'un nouveau niveau est choisi à partir de l'écran de sélection de niveau. Cela m'a conduit à l'approche Singleton qui a du sens et semble être ce que je suis après, mais je ne comprends pas vraiment où je devrais décharger le Singleton pour s'assurer qu'il obtient GC'd, par exemple , pourrais-je le publier dans le menu du jeu onDestroy
, si oui, comment puis-je savoir si l'activité du menu du jeu va traîner indéfiniment. J'ai également vu la mention d'Android capable de tuer le singleton seul. J'ai également lu quelques-uns sur l'utilisation du contexte d'application qui me donnerait le cycle de vie.
Quelle serait la meilleure façon d'aborder cela? Est-ce que je veux vraiment décharger et recharger toutes les ressources de l'activité de jeu? Est-ce que je vais dans la bonne direction avec l'idée Singleton ou Application?
Vous pouvez également consulter http://gamedev.stackexchange.com –