Autore Topic: removeCallbacksAndMessages() non affidabile!  (Letto 578 volte)

Offline wlf

  • Utente normale
  • ***
  • Post: 359
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
removeCallbacksAndMessages() non affidabile!
« il: 17 Marzo 2016, 19:02:08 CET »
0
Salve ragazzi,
ho un ciclo for (for (int i = 0; i < array.length; i++) {}) che può essere eseguito fino a 30 volte al secondo; per incrementare i ho bisogno che una callBack mi valorizzi a true una variabile altrimenti rimango in attesa; raramente non mi arriva il true vorrei quindi implementare un timeout con un handler.postDelayed() di 50ms.

Utilizzerei un booleano da valorizzare nella .postDelayed() ma ho già avuto problemi con un handler che pure dopo la .removeCallbacksAndMessages() mi veniva eseguito comunque anche dopo averlo rimosso ... :(
Che garanzia ho che la valorizzazione del booleano corrisponda al ciclo for che sto eseguendo e non sia un handler precedente che non è stato rimosso che nel frattempo è andato in esecuzione?

Avete suggerimenti per evitare che vari handler si "accavallino" ed invece da fungere da timeout fanno giusto l'effetto contrario, danno semaforo verde anche quando non dovrebbero?