Android Service Audio de fuite de Connexion de Service
Je développe une application sur un lecteur de musique .
Je suis confronté erreur de ce type.
'*.MusicPlayerTabWidget a fui ServiceConnection *
Veuillez vous a donné des commentaires au sujet de cette.
Je partage mon Logcat pour cela aussi.
05-01 10:38:03.226: W/KeyCharacterMap(4225): Using default keymap
05-01 10:38:03.429: E/ActivityThread(4225): Activity com.pvMusic.pvm.MusicPlayerTabWidget has leaked ServiceConnection com.pvMusic.pvm.MusicPlayerTabWidget$1@4051c6f0 that was originally bound here
05-01 10:38:03.429: E/ActivityThread(4225): android.app.ServiceConnectionLeaked: Activity com.pvMusic.pvm.MusicPlayerTabWidget has leaked ServiceConnection com.pvMusic.pvm.MusicPlayerTabWidget$1@4051c6f0 that was originally bound here
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:938)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:833)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.ContextImpl.bindService(ContextImpl.java:879)
05-01 10:38:03.429: E/ActivityThread(4225): at android.content.ContextWrapper.bindService(ContextWrapper.java:347)
05-01 10:38:03.429: E/ActivityThread(4225): at com.pvMusic.pvm.MusicPlayerTabWidget.onStart(MusicPlayerTabWidget.java:175)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1129)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.Activity.performStart(Activity.java:3791)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1624)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
05-01 10:38:03.429: E/ActivityThread(4225): at android.os.Handler.dispatchMessage(Handler.java:99)
05-01 10:38:03.429: E/ActivityThread(4225): at android.os.Looper.loop(Looper.java:130)
05-01 10:38:03.429: E/ActivityThread(4225): at android.app.ActivityThread.main(ActivityThread.java:3687)
05-01 10:38:03.429: E/ActivityThread(4225): at java.lang.reflect.Method.invokeNative(Native Method)
05-01 10:38:03.429: E/ActivityThread(4225): at java.lang.reflect.Method.invoke(Method.java:507)
05-01 10:38:03.429: E/ActivityThread(4225): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
05-01 10:38:03.429: E/ActivityThread(4225): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
05-01 10:38:03.429: E/ActivityThread(4225): at dalvik.system.NativeStart.main(Native Method)
05-01 10:39:31.859: D/dalvikvm(4225): GC_EXPLICIT freed 166K, 46% free 3022K/5575K, external 557K/1031K, paused 52ms
05-01 10:39:31.906: D/dalvikvm(4225): GC_CONCURRENT freed 0K, 46% free 3022K/5575K, external 557K/1031K, paused 4ms+3ms
Plus sur que si vous avez des référence des tutoriels pour le lecteur de musique s'il vous plaît partager avec moi..
OriginalL'auteur full Error | 2012-05-01
Vous devez vous connecter pour publier un commentaire.
Ajouter
unbindService(mConnection);
dans votreonstop()
méthode. Le code va commencer à travailler correctement.lire la Android cycle de vie! (dans ce cas, l'Activité du cycle de vie)
OriginalL'auteur user1398739
Si vous faites une liaison locale au service de l'activité à l'intérieur de vous , vous devez vous assurer que vous vous déconnectez du service à chaque fois que votre activité est arriver fermé. Sinon, l'application va commencer à les fuites de la connexion dans votre erreur.
Ce que j'ai à faire si je veux garder vivant le service dans l'Attente de l'Intention de notification ? Ex:- j'ai cliqué sur l'activité pour l'enregistrement de l'Audio avec la Notification "enregistrement" S'cliquez sur le bouton retour s'appeler " unbindService, il s'arrête de recodage!! avez-vous je pense que je dois changer de "liaison locale pour le service à l'intérieur de vous," l'activité de startService stackoverflow.com/questions/3514287/...
OriginalL'auteur Akhil
Que vous essayez de montrer quelque chose une fois que vous êtes sortie de l'activité ( votre fil est venu à l'arrière ).
OriginalL'auteur Krishnakant Dalal
comme le montre ici, vous devez remplacer le
onDestroy
et fermer la boîte de dialogue qui est en cours d'exécution après l'activité de la ferme.OriginalL'auteur thepoosh
Cela peut également se produire lorsque le Service a enregistré un BroadcastReceiver et de ne pas annuler l'inscription.
Donc veuillez annuler l'inscription dans onDestroy
OriginalL'auteur Giridhar Bandi
Si vous liez à getcontexteapplication() au lieu de cela, la liaison de s'exécuter tant que votre application est en cours d'exécution. Si vous liez à getContext(), et l'Activité du contexte est détruit, android avis que vous n'avez pas de fermer la connexion liés à ce contexte.
OriginalL'auteur npjohns