Czy context.getSystemService()
jest kosztownym połączeniem?Czy context.getSystemService() jest kosztownym połączeniem?
tj. Zbudowałem małą bibliotekę sieciową http (wiem, że są dostępne inne biblioteki sieciowe http), które używają ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
do sprawdzenia (przed wykonaniem żądania http), jeśli użytkownik jest podłączony do Internetu (rodzaj strategii szybkiej awarii).
Moje pytanie brzmi: czy powinienem zapisać ConnectivityManager
jako zmienną instancji (pole klasy) mojej biblioteki http, czy też powinienem zadzwonić pod numer ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
za każdym razem, zanim uruchomię żądanie http, aby pobrać "nowy" menedżer połączeń? Czy ta sama instancja ConnectivityManager jest zwracana za każdym razem, gdy wywołuję getSystemService(Context.CONNECTIVITY_SERVICE)
(innymi słowy, można zapisać w łączniku pola klasy ConnectivityManger problemy, ponieważ moja biblioteka http jest długo trwająca -> działa tak długo, jak uruchamia się aplikacja)