“Service MeasurementBrokerService est en cours d'utilisation” s'affiche dans mon processus de demande
J'ai rencontré un problème que GooglePlayServices application est à l'aide de mon processus de demande pour leurs services et leur montrant également le processus de compter pour 2.
J'ai joint la capture d'écran pour le même. Je n'ai aucune idée de pourquoi cela se produit.
Il prend plus de mémoire de comparer mon app processus.
- Ce que quelqu'un peut m'aider sur ce point.
Montrant deux processus
- Ce qui se passe pour l'application gmail aussi, et il est étrange.
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré aujourd'hui, après j'ai ajouté de la gcm à mon application et ne peut pas déterminer exactement quel est l'utilisation de cette
MeasurementBrokerService
.La seule chose que j'ai trouvé ce commentaire:
"J'ai aussi eu et suppose que c'est lié à la notification de l'auditeur, car il apparaît que la Prévention de macrodroid notifications de l'accès à le faire arrêter. ( espérons que je m clair, mon anglais est seulement en restant des heures d'école...)"
de ici
Nous avons vu ce service se montrer ainsi. La question s'est avéré être l'utilisation de Google Analytics avec un NotificationListenerService.
Pour certaines raisons, ces deux choses n'ont pas de bien jouer ensemble et a causé MeasurementBrokerService à être toujours en cours d'exécution, et la consommation d'une quantité importante de mémoire.
La solution pour nous a été de supprimer Google Analytics pour une autre solution analytique.
Personnes qui doivent encore vérifier ce fil de discussion pour la réponse, j'ai trouvé une solution et posté une réponse à:
qu'est-ce que Google Play services MeasurementBrokerService et comment l'arrêter?
J'ai vérifié que d'une certaine façon encore google AppMeasurement service a été exécuté sur mon appareil.
J'ai eu recours à l'utilisation de l'approche suivante:
La suite des arrêts de la collecte de données par firebase.
https://firebase.google.com/support/guides/disable-analytics nous dit l'approche suivante
Ce seul fait ne peut toujours pas arrêter le appMeasurement de l'initialisation.
De la deuxième étape, ce qui a résolu est l'adjonction à l'application du niveau de gradle fichier:
En fait cela supprime tout le code que firebase analytics utilise des.
Dans le cas où cela ne fonctionne toujours pas, assurez-vous que le gradle ne pas inclure de vastes jouer la dépendance de service
par exemple: compiler
au lieu de
Pire des cas, et je n'ai pas testé ce que le ci-dessus résolu pour moi, c'est:
https://developers.google.com/analytics/devguides/collection/android/v4/advanced
Google devrait vraiment arrêter de mettre des choses indésirables sans le dev de l'autorisation à mon humble avis. Espérons que cela aide quelqu'un
Exclure firebase-bibliothèques de base dans votre gradle fichier. J'ai rencontré le même problème.
}
Pour plus de détails sur firebase bibliothèques suffit de passer par lien suivant
http://blog.safedk.com/technology/mobile-sdks-firebase-or-play-services/
Cela peut être lié à votre compte Google Analytics à l'intégration dans votre application. Retirez le Google Analytics de références à partir de votre code Java, au niveau des projets et de l'Application au niveau gradle fichiers. Cette fuite se passe seulement dans les dernières versions de Google Analytics versions. Vous pouvez intégrer l'ancien Google Play Services de versions comme 7.3.0 qui n'ont pas ce problème pour réparer cette fuite.
J'ai réussi à résoudre le problème par l'établissement de Gradle version 2.0.0 de 2.3.2. De ce fait j'ai dû mettre de Gradle wraper à 2.14.1 de 3,3.
Aussi je fais revenir à buildToolsVersion '23.0.1" de buildToolsVersion '25.0.2'.
Par la compilation du projet comme celui-ci, probablement fait beaucoup de changements dans l'environnement de compilation, parce que quand j'ai changé tout retour à la version originale, le problème a disparu, pas de MeasurementBrokerService est en cours d'exécution plus.
La solution que j'ai trouvé est de déplacer le
NotificationListenerService
à son propreprocess
. Tout en ayant des Google Play Services sur un autre.Fond
Tout d'abord, il est déjà une bonne décision de se séparer de la
NotificationListenerService
, parce que cette chose est constamment en cours d'exécution après que l'utilisateur accorde à l'BIND_NOTIFICATION_LISTENER_SERVICE
autorisation.De coeur à moins de déclaration contraire, votre application va utiliser un processus. Cela signifie qu'à l'intérieur de la "gestion des Services" de l'onglet en plus de toutes les notifications de données stockées dans le
NotificationListenerService
vous allez voir tous vos déchets, qui est encore à être collectées par le GC.Comment
Afin d'exécuter un service dans son propre processus, vous devez ajouter les
android:process
attribut dans votreManifest.xml
Choses à retenir
Vous ne pouvez pas communiquer entre les processus d'une manière régulière! Vous ne serez pas en mesure d'accéder à une autre Classe à partir d'un Service qui se trouve dans son propre processus.
La seule solution est d'utiliser des Émissions
Assurez-vous d'utiliser
context
et pasLocalBroadcastManager
, car il ne fonctionne pas avec les processus.