2017-07-16 4 views
1

En quoi consiste précisément le mécanisme par lequel Android détecte et impose que certains types d'opérations se produisent uniquement dans le thread d'interface utilisateur?Quel est le mécanisme par lequel Android détecte et impose que certains types d'opérations se produisent uniquement dans le thread d'interface utilisateur?

Y a-t-il juste beaucoup d'endroits dans le cadre où le fil courant est vérifié?

J'imagine qu'il y a un moyen plus central de le faire, et j'aimerais savoir où c'est, et de quoi il s'agit.

Cette question est pour le seul but de la connaissance. Je n'ai pas de problème spécifique que j'essaie de résoudre.

Répondre

-1

tâches longues, tâche de fond, en utilisant le réseau et etc doivent être exécutés sur thread d'interface utilisateur, pour plus d'informations lire this link

+0

La question est clairement sur la façon dont la vérification est effectuée, pas où les choses doivent être exécutées. –

0

D'après ce que j'ai trouvé - oui, il est fait de manière plus ou moins centrale via Blockguard. C'est un mécanisme permettant aux threads de définir des restrictions sur ce que le code est autorisé à faire dans leur thread.

Cela s'appelle dans un bas niveau d'opérations d'E/S, d'accès réseau et ainsi de suite, en fonction de la stratégie de thread en cours. Vous pouvez trouver ses usages here, par exemple.

Il y a aussi quelques informations utiles dans la description StrictMode pour creuser dans cette direction.