Bon après-midi.Android - Fin de l'activité depuis le fil de rendu
Je ne suis pas familier avec le cycle de vie de l'activité dans android et ai lu le mieux possible, mais je ne peux pas comprendre comment résoudre ce qui suit d'une manière agréable.
J'ai une activité avec un GLSurfaceView pour dessiner diverses choses à l'écran. Dans le thread de rendu pour cette GLSurfaceView, j'effectue tout le rendu ainsi que la logique de mise à jour actuelle (je vais séparer cela éventuellement). Le problème que je rencontre provient d'un des "écrans" dessinés dans le moteur de rendu. Je souhaite terminer l'activité et appeler les différentes méthodes du cycle de vie.
Normalement, je peux le faire avec System.exit (0); Cependant, terminer l'activité de cette manière ne semble pas appeler OnStop(); OnDestroy(); méthodes
Cela pourrait juste être moi être bête et ne pas voir une manière facile de le faire mais est-il un moyen d'accéder à l'activité et appeler activity.finish(); sans avoir à passer la référence tout en bas?
Ceci est probablement moins d'une question android et plus un problème java général? Désolé je suis un peu rouillé à la fois. Peut-être que quelqu'un pourrait expliquer à peu près comment ils gèrent un problème comme celui-ci dans leur application.
Merci, je revenais juste pour éditer ma question et mettre "ceci est probablement plus d'une question d'architecture/meilleure pratique". Étant autodidacte, j'ai tendance à savoir comment faire quelque chose, mais je doute toujours que ce soit la meilleure pratique pour le faire ou même en toute sécurité! – iexus
Après avoir réfléchi un peu plus, j'ai réalisé que vous auriez besoin de créer le gestionnaire dans le thread UI, donc dans le OnCreate() ou bien il est fait dans le thread de rendu et ne peut pas poster? Est-ce correct? – iexus
Oui Je crois que vous devrez peut-être créer le gestionnaire sur le thread d'interface utilisateur, puis passer à votre moteur de rendu. Encore une fois, vous pouvez utiliser des astuces d'architecture en acheminant les appels à travers des parties de votre architecture de sorte que vous ne deviez pas passer des références jusqu'au point où stop() est appelé. – chubbsondubs