Sollte ich Objekte zwischenspeichern, die durch Retrofit erzeugt wurden, oder wird es empfohlen, sie im laufenden Betrieb zu erstellen?Ist es empfehlenswert, Retrofit-Instanzen im Speicher zu belassen?
Ich beginne eine allmähliche Migration von einem alten Netzwerk-Framework zu Retrofit, die mit einer sehr einfachen Logik begann, um Retrofit erstellte Instanzen zwischenzuspeichern. Dies ist auf unsere Architektur, die verschiedene Endpunkte in verschiedenen Aktivitäten/Fragmente verwenden, wird diese Methode, wenn der Benutzer besuchen verschiedene Teile der App aufgerufen werden:
static public <T> T getApi(Class<T> apiInterface) {
validateInitialization("getApi()");
if (!mApis.containsKey(apiInterface.getSimpleName())) {
mApis.put(apiInterface.getSimpleName(), retrofit().create(apiInterface));
}
return (T) mApis.get(apiInterface.getSimpleName());
}
jedoch, wie wir unsere Schemata weiterhin die Migration Retrofit zu verwenden, Diese Karte wird größer (derzeit können etwa 20 verschiedene Schnittstellen/Apis erstellt werden) und enthält manchmal Instanzen, die nicht mehr verwendet werden.
Singleton mit Dolch2 und injizieren, wo erforderlich. Hilft https://github.com/googlesamples/android-architecture-components/blob/master/GithubBrowserSample/app/src/main/java/com/android/example/github/di/AppModule.java? – Raghunandan