android - Comment répéter une fonction contant tous les temps?
Comment programmer une fonction de tous les temps défini avec l'option de changement de ce temps?
J'ai trouvé que je peux le faire à l'aide de la minuterie & timerTask ou de gestionnaire. Le problème que cela ne marche pas, répète le temps que j'ai défini, il répète randomaly...
runnable = new Runnable() {
@Override
public void run() {
//some action
handler.postDelayed(this, interval);
}
};
int hours = settings.getIntervalHours();
int minutes = settings.getIntervalMinutes();
long interval = (hours * 60 + minutes) * 60000;
changeTimerPeriod(interval);
private void changeTimerPeriod(long period) {
handler.removeCallbacks(runnable);
interval = period;
runnable.run();
}
Vous pouvez utiliser le Gestionnaire. Vous pourriez obtenir votre solution précise ici
OriginalL'auteur Alex Kapustian | 2013-01-12
Vous devez vous connecter pour publier un commentaire.
Utiliser un Gestionnaire objet dans le
onCreate
méthode. SonpostDelayed
méthode provoque laRunnable
paramètre pour être ajouté à la file d'attente de messages et à exécuter après le laps de temps écoulé (c'est-à 0 dans l'exemple donné). Puis ce sera la file d'attente après le taux fixe de temps (1000 millis dans cet exemple).où est la fuite? Pouvez-vous être plus précis?
Fuite de mémoire peut être le mauvais terme, mais il faudra continuer lorsque l'application est en pause (ce qui je suppose n'est pas ce que vous voulez).
OriginalL'auteur Gazal Patel
J'ai utilisé la solution ici
Mais dans le code où le gestionnaire a été initialisé, j'ai utilisé
au lieu de
qui a travaillé pour moi
OriginalL'auteur Tahmid Rahman