Sto costruendo una biblioteca, che ha la seguente struttura:Come devo fare per evitare perdite BroadcastReceiver
MySDK{
public static void init(Context context){
registerReceivers(); // Register connectivity BroadcastReceiver here
}
public static void performAction(){};
}
L'utilizzo previsto è: gli utenti della mia libreria chiamata init() nel primo attività loro creano. Il problema è che non annullo la registrazione di BroadcastReceiver e che perde quando l'app viene chiusa. Potrei creare un metodo chiamato deinit() e chiedere agli utenti di lib di chiamarlo quando si lascia Activity, ma c'è un modo più affidabile per liberare risorse?
Perché ho bisogno di ricevitore?
Se non c'è connessione Internet e performAction() non è possibile inviare dati, registro il ricevitore per rilevare la modifica dello stato della connettività.
I BroadcastReceiver saranno necessari solo nella prima attività o saranno necessari più a lungo? – Simon
@Simon vedere l'aggiornamento. Avrò bisogno del ricevitore tutto il tempo. –
Creare un servizio che registri questo ricevitore. –