Google Dagger 2 riguarda esclusivamente gli ambiti oggetto, ad es. quando hai bisogno di oggetti solo durante una richiesta http, annoti i metodi del tuo provider con @RequestScope
.Come assicurarsi che le risorse vengano rilasciate utilizzando Google Dagger 2
Ma alcune risorse fornite devono essere rilasciato, ad esempio un CloseableHttpClient bisogno di essere closed o un ExecutorService deve essere shutdown.
Come è possibile specificare quali azioni devono essere intraprese per rilasciare un oggetto quando non è più in uso utilizzando Google Dagger 2?
Ma allora qual è lo scopo? Un ambito non globale implica che l'ambito finirà? Ciononostante ottengo la parte su * Dagger riguarda la gestione delle dipendenze, non le durate degli oggetti * – ooxi
@ooxi Gli ambiti sono raggruppare le cose che vanno insieme. Potresti avere un '@ AccountManager di @Singleton 'ma ogni utente avrebbe il proprio' @PerUser Balance'. Gli ambiti aiutano a garantire che gli oggetti con la stessa durata si trovino nello stesso componente e che nulla di ciò che cambia meno spesso dipenda da essi, poiché l'utente potrebbe cambiare più frequentemente rispetto a un singleton (che non dovrebbe cambiare). –
Grazie per il chiarimento! – ooxi