2010-05-05 4 views
3

Je fais une application qui accède au gprs. Je suis confronté au problème lorsque l'utilisateur démarre une autre application qui utilise gprs aussi google maps. Il prend sa propre mémoire de tas, après avoir fait une opération sur l'application Maps qu'il appelle OnLowMemory de mon service .et mon ui est également tué en arrière-plan. Je ne reçois aucun didacticiel approprié. Puis-je démarrer mon application quand elle se fait tuer pendant onLowMemory, ou est-ce qu'il y a un autre moyen de la gérer?OnLowMemory se appelle

Merci d'avance.

+1

WindowManager (81): WIN DEATH: Fenêtre {4330a3e8 paquet/com.xyz paused = false} Je reçois ce message en arrière-plan. – Sam97305421562

Répondre

5

Vous ne pouvez pas relancer votre application. L'OS Android prend soin de tuer les applications de faible priorité quand il commence à manquer de mémoire. Ce que vous devriez faire est d'essayer de sauvegarder n'importe quel état avant que votre application ne soit tuée. Lorsque l'application est à nouveau lancée, vérifiez si un état est enregistré et restaurez votre application au dernier état. Vous devez également vérifier que votre téléphone manque de mémoire, que votre application ne nettoie pas correctement ou utilise trop d'images, de bitmaps, etc., qui consomment beaucoup de mémoire.

+0

merci pour la réponse – Sam97305421562

+0

J'ai stocké l'état d'intentions dans HashMap plutôt économiser en bundle .Avez-vous un tutoriel lié à l'épargne d'état parce que j'ai fait de ma classe principale en instance unique – Sam97305421562

+0

Eh bien, économiser en bundle permet à Android de faire beaucoup pour le travail sale pour vous, comme autopassing à onCreate lorsque votre application est relancée. Check this out: http://stackoverflow.com/questions/151777/how-do-i-save-an-android-applications-state –

Questions connexes