Maison >Java >javaDidacticiel >Comment runOnUiThread peut-il garantir des interactions fluides avec l'interface utilisateur sous Android ?

Comment runOnUiThread peut-il garantir des interactions fluides avec l'interface utilisateur sous Android ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-18 12:55:11987parcourir

How Can runOnUiThread Ensure Smooth UI Interactions in Android?

Faire fonctionner le UI-Thread avec runOnUiThread dans Android

Lorsque vous travaillez avec le développement Android, l'interaction avec l'interface utilisateur doit se faire dans le UI-Thread pour éviter un comportement inattendu ou des plantages. Cet article explore l'utilisation appropriée de la méthode runOnUiThread pour garantir un fonctionnement transparent au sein du UI-Thread.

Le code initial a tenté d'utiliser runOnUiThread de manière incorrecte, ce qui a fait que l'application ne répond plus lorsque vous cliquez sur un bouton. La fonction runThread corrigée est présentée ci-dessous :

private void runThread() {

    new Thread() {
        public void run() {
            while (i++ < 1000) {
                try {
                    runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            btn.setText("#" + i);
                        }
                    });
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }.start();
}

La différence cruciale réside dans le déplacement de l'appel à runOnUiThread dans un Runnable distinct, ce qui garantit que toutes les opérations de l'interface utilisateur sont effectuées dans le thread principal, par opposition à l'arrière-plan. fil qui était utilisé auparavant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn