Optimisation des performances Android-optimisation des threads

Mécanisme de planification de thread Android

Mécanisme de planification des threads

  • Modèle de planification à temps partagé: tous les threads se relaient pour obtenir les droits d'utilisation du processeur et le temps processeur occupé par chaque thread est uniformément réparti
  • Modèle de planification préventive: priorisez les threads avec une priorité élevée dans le pool exécutable pour occuper le processeur et sélectionnez au hasard un thread avec la même priorité

Mécanisme de planification des threads
Android Le mécanisme de planification des threads d'Android est un modèle de planification préemptif.
Priorité des threads (sympa): par défaut, la priorité d'un thread nouvellement créé est la même que celle du thread parent par défaut.
Regroupement des threads: Android est également divisé en threads de premier plan et threads d'arrière-plan

Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)

Mode asynchrone Android

  • Fil: créez un fil directement
  • AsyncTask: fournit un mécanisme simple et pratique pour basculer rapidement entre les threads d'interface utilisateur et les threads de travail. Il convient aux scénarios d'utilisation qui doivent être démarrés immédiatement, mais le cycle de vie de l'exécution asynchrone est court ()
  • HanderThread: configurez un thread dédié pour certaines méthodes de rappel ou attendez l'exécution de certaines tâches, et fournissez la planification des tâches de thread. (handerThread hérite du mécanisme Thread + handler) Article de référence: vous apprendre à utiliser HandlerThread
  • ThreadPool: décomposez les tâches en différentes unités et distribuez-les à différents threads pour un traitement simultané et concurrent.
  • IntentService: convient à l'exécution de tâches de service déclenchées par l'interface utilisateur, et peut être renvoyé à l'interface utilisateur via un certain mécanisme lorsque les tâches sont exécutées en arrière-plan (IntentService hérite du service et HandlerThread est utilisé à l'intérieur)
  • Chargeurs: le système Android fournit LoaderManager (AsyncTask utilisé à l'intérieur)

Optimisation des threads Android

  • Thread spécifie le nom du thread, regroupant les threads pour faciliter le dépannage
  • Attribuer raisonnablement une priorité de thread
  • Utiliser le pool de threads pour réutiliser les threads
  • Choisissez la bonne méthode asynchrone pour le bon scénario
  • Contrôlez le nombre total de threads de l'ensemble de l'application et réutilisez les threads pour chaque module de l'application
  • HandlerThread qui n'est plus utilisé doit quitter
  • Ne pas utiliser directement pour créer des threads, vous devez utiliser un pool de threads

Je suppose que tu aimes

Origine blog.csdn.net/yanwenyuan0304/article/details/106813636
conseillé
Classement