Ich versuche meine Android-App zu optimieren und habe beschlossen, alle meine Empfänger, die ich in der onStart
-Methode registrieren, an einen Thread zu senden, der stattdessen innerhalb der onStart
-Methode gestartet wird. Hier ist der Code:Android: Ich registriere meine Empfänger dynamisch in einem Nicht-UI-Thread
@Override
public void onStart() {
Timber.e("onStart");
super.onStart();
Thread thread = new Thread() {
@Override
public void run() {
super.run();
LocalBroadcastManager.getInstance(getApplicationContext()).registerReceiver(locationReceiver,
new IntentFilter(Constants.MAIN_ACTIVITY_LOCATION));
}
};
thread.start();
}
Kann ich meine Empfänger auf diese Weise registrieren?
Bisher scheint es zu funktionieren, aber ich bin unsicher, ob das nur Glück war oder ob das garantiert immer funktionieren wird.
Sind Sie sicher, dass Sie diese "Optimierung" tun müssen? Sehen Sie Leistungseinbußen durch die Registrierung des Empfängers? –
Ich schaute auf Traceview und sah eine ziemlich geringe Ladezeit, wenn ich alles auf einen Thread pushte. Ich werde es jetzt überprüfen. – Simon
Wie erwähnt, könnte dies eine schlechte Idee sein, da Sie mit einem neuen Thread erstellt werden, würde ich sein. – Shaishav