Existe-t-il un moyen robuste de détecter si Thread.currentThread()
est le thread de l'interface utilisateur du système Android dans une application?
Je voudrais mettre quelques assertions dans mon code de modèle qui affirme qu'un seul thread ( par exemple, le thread ui) accède à mon état, afin de garantir qu'aucun type de synchronisation n'est nécessaire.
Réponses
Trop de publicités?
mik3y
Points
2349
La pratique courante pour déterminer l'identité du thread d'interface utilisateur consiste à utiliser Looper # getMainLooper :
if (Looper.getMainLooper().getThread() == Thread.currentThread()) {
// On UI thread.
} else {
// Not on UI thread.
}
ATom
Points
4809
yushulx
Points
2984