Ist context.getSystemService()
ein teurer Anruf?Ist context.getSystemService() ein teurer Aufruf?
I.e. Ich habe eine kleine http-Netzwerkbibliothek gebaut (ich weiß, dass es andere http-Netzwerkbibliotheken gibt), die ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
verwendet, um zu überprüfen (vor dem Ausführen einer HTTP-Anfrage), ob der Benutzer mit dem Internet verbunden ist (Art der schnellen Strategie).
Meine Frage ist, sollte ich spare den ConnectivityManager
als Instanzvariable (Klasse-Feld) meiner http Bibliothek oder sollte ich anrufen ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
jedes Mal, bevor ich eine HTTP-Anfrage starten eine „neue“ ConnectivityManager abzurufen? Wird dieselbe ConnectivityManager-Instanz jedes Mal zurückgegeben, wenn ich getSystemService(Context.CONNECTIVITY_SERVICE)
aufruft (mit anderen Worten, kann das Speichern eines ConnectivityManger in einem Klassenfeld zu Problemen führen, da meine http-Bibliothek eine lange ist -> lebt solange die Anwendung läuft)