J'ai une classe qui étend la classe Thread et dont la méthode d'exécution est implémentée.android gestion des threads onPause
public void run(){
while(!terminate){
if(paused){
Thread.yield();
}else{
accummulator++;
}
}
}
Ce thread est issu de la méthode onCreate.
Lorsque mon interface utilisateur est masquée (lorsque la touche Accueil est enfoncée), ma méthode onPause met l'indicateur en pause à true et génère la bande de roulement. Cependant, dans le DDMS, je vois encore le temps d'accumulation du thread et son état "en cours d'exécution".
Donc ma question est. Quelle est la bonne façon d'arrêter le thread afin qu'il n'utilise pas le temps CPU?
Oui, c'est la conclusion que j'ai trouvée. En outre, je pense que la meilleure méthode de mise en œuvre n'est pas de sous-classer directement Thread mais d'utiliser l'interface Runnable. De cette façon, vous pouvez tuer le thread mais avoir la possibilité de le "reprendre" en instanciant un autre thread, sans perdre d'état. Accordé que onDestroy ou l'application n'est pas tué et recréé. –