webentwicklung-frage-antwort-db.com.de

"Service MeasurementBrokerService wird verwendet" wird in meinem Bewerbungsprozess angezeigt

Es ist ein Problem aufgetreten, bei dem die GooglePlayServices-App meinen Bewerbungsprozess für ihren Service verwendet und die Prozesse als 2. .__ angezeigt werden.
Ich habe den Screenshot für das gleiche beigefügt. Ich habe keine Ahnung, warum es passiert.
Der App-Prozess erfordert mehr Speicherplatz.


Jemand bitte kann mir dabei weiterhelfen .

 enter image description here


Zeigt zwei Prozesse hier enter image description here

14
Noundla Sandeep

Leute, die immer noch in diesem Thread nach einer Antwort suchen, habe eine Lösung gefunden und eine Antwort gepostet unter:

Was ist der Google Play-Service MeasurementBrokerService und wie kann er gestoppt werden?

Ich habe überprüft, dass auf meinem Gerät immer noch Google AppMeasurement-Dienst ausgeführt wurde.

Ich habe auf folgenden Ansatz zurückgegriffen:

Mit den folgenden Anweisungen wird die Datenerfassung nach Firebase gestoppt.

https://firebase.google.com/support/guides/disable-analytics gibt den folgenden Ansatz an

<meta-data Android:name="firebase_analytics_collection_deactivated" Android:value="true" />

Dies allein kann die AppMessung noch nicht von der Initialisierung abhalten.

Im zweiten Schritt wurde der Gradle-Datei auf App-Ebene Folgendes hinzugefügt:

configurations {
    all*.exclude group: 'com.google.firebase', module: 'firebase-core'
}

Dadurch wird im Wesentlichen der gesamte Code entfernt, den die Firebase-Analyse verwendet.

Wenn es immer noch nicht funktioniert, vergewissern Sie sich, dass der Gradle keine umfassende Spieldienstabhängigkeit enthält

zB: kompilieren 

'com.google.Android.gms:play-services-location:10.0.1'

anstatt 

'com.google.Android.gms:play-services:10.0.1'

Der schlimmste Fall und ich habe dies nicht getestet, da es für mich gelöst wurde:

https://developers.google.com/analytics/devguides/collection/Android/v4/advanced

Google sollte wirklich aufhören, unerwünschte Dinge ohne die Erlaubnis des Entwicklers zu setzen. Hoffe das hilft jemandem

2
Kushan

Schließen Sie die Firebase-Core-Bibliotheken in Ihrer Gradle-Datei aus. Ich habe das gleiche Problem gesehen.

configurations {
all*.exclude group: 'com.google.firebase', module: 'firebase-core'

}

Für weitere Details zu Firebase-Bibliotheken gehen Sie einfach auf den folgenden Link

http://blog.safedk.com/technology/mobile-sdks-firebase-or-play-services/

2
Kavita_p

Wir haben gesehen, dass auch dieser Service auftaucht. Bei dem Problem stellte sich heraus, dass Google Analytics zusammen mit einem NotificationListenerService verwendet wurde.

Aus einigen Gründen funktionierten diese beiden Dinge nicht gut und führten dazu, dass der MeasurementBrokerService immer aktiv war und viel Speicher verbrauchte.

Die Lösung für uns bestand darin, Google Analytics für eine alternative Analyselösung zu entfernen.

2
David Zhao

Dies ist mir heute begegnet, nachdem ich gcm zu meiner App hinzugefügt habe und nicht herausfinden kann, was genau die Verwendung dieser MeasurementBrokerService..__ ist.

"Ich hatte es auch und denke, es hängt mit dem Benachrichtigungs-Listener zusammen, da es den Anschein hat, dass der Zugriff durch den Zugriff auf die Makrodrogen verhindert wird.

von hier

2
Guy S

Die Lösung, die ich gefunden habe, ist die NotificationListenerService in ihre eigene process zu verschieben. Während Google Play Services auf einem anderen.

Hintergrund

Zunächst einmal ist es schon eine gute Entscheidung, die NotificationListenerService zu trennen, da dieses Ding ständig läuft, nachdem der Benutzer die BIND_NOTIFICATION_LISTENER_SERVICE-Berechtigung erteilt hat. 

Grundsätzlich verwendet Ihre App einen Prozess, sofern nichts anderes angegeben ist. Dies bedeutet, dass auf der Registerkarte "Laufende Dienste" zusätzlich zu allen in NotificationListenerService gespeicherten Benachrichtigungsdaten der gesamte Müll angezeigt wird, der noch von GC abgerufen werden muss. 

Wie man

Um einen Dienst in seinem eigenen Prozess auszuführen, müssen Sie das Android:process-Attribut in Ihrem Manifest.xml hinzufügen.

<service Android:name="com.mypackage.services.NotificationService"
Android:label="@string/app_name"
Android:process=":myawesomeprocess"
Android:permission="Android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">

Dinge zu beachten

Sie können nicht regelmäßig zwischen Prozessen kommunizieren! Sie können nicht auf eine andere Klasse von einem Dienst zugreifen, der sich in seinem eigenen Prozess befindet .. Die einzige Lösung ist die Verwendung von Broadcasts

//Send
Intent intent = new Intent("com.mypackage.myaction");
context.sendBroadcast(intent);

//Receive
registerReceiver(broadcastReceiver, new IntentFilter("com.mypackage.myaction"));

BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action!=null&&action.equals("com.mypackage.myaction")) {
            //
        }
    }
};

//Don't forget to unregister
unregisterReceiver(broadcastReceiver);

Stellen Sie sicher, dass Sie context und nicht LocalBroadcastManager verwenden, da dies nicht mit Prozessen funktioniert.

0
Fossor

Dies könnte mit Ihrer Google Analytics-Integration in Ihrer App zusammenhängen. Entfernen Sie die Google Analytics-Referenzen aus Ihren Java-Code-, Projekt- und Gradientendateien auf App-Ebene. Dieses Leck tritt nur in den neuesten Google Analytics-Versionen auf. Sie können die alten Google Play Services-Versionen wie 7.3.0 integrieren, bei denen dieses Problem nicht vorliegt, um dieses Leck zu beheben.

0
venkat

Ich könnte das Problem lösen, indem ich die Version 2.3.2 von Gradle auf 2.0.0 zurückstelle. Aus diesem Grund musste ich Gradle Wraper von 3.3 auf 2.14.1 setzen.

Ich habe auch wieder auf buildToolsVersion '23 .0.1 'von buildToolsVersion '25 .0.2' gesetzt.

Durch das Kompilieren des Projekts wie folgt, wurden wahrscheinlich viele Änderungen in der Build-Umgebung vorgenommen, da das Problem mit der ursprünglichen Version nicht mehr behoben wurde und kein MeasurementBrokerService mehr läuft.

0
plexnor