Je travaille sur une application basée sur la session en utilisant Kaltura APR.Quelle est la meilleure approche pour gérer des appels réseau simultanés (client http) pour charger des données à fragments multiples (faiblement couplés) à l'intérieur d'une seule activité?
Le design est tel que j'ai un pager view + tablayout dans chaque page j'ai un fragment et tout fragment est lié à une seule activité. En mode splash, je me connecte à Api et crée une session maintenant j'ai plusieurs appels réseau (et tout doit être fait dans une tâche asynchrone).
Énoncé du problème:
Disons que j'ai C1, C2, C3, C4, C5, fragments C6 et
chaque C a son propre ensemble de données (appel via n/w, AsyncTask) chargement le bloc de données bloque le thread principal et si l'utilisateur balaie vers une autre page, une nouvelle asynctask est exécutée alors que le thread de fond précédent est toujours en train de charger ce qui provoque des retards et ANR.
Suggestion:
Quelle est la meilleure approche pour gérer l'appel du réseau de chaque fragment: dois-je créer le thread Pooler pour ces tâches async autour de 8-10 et commencer à Pooler de fil dans les éclaboussures.
Je suis très vif sur la fuite de mémoire de l'activité et que vous souhaitez obtenir un chargement rapide des viewpager (les vues du fragment) i lu beaucoup de SO questions et @commonsWare Blog et aussi
this discussion on thread pooler mais veulent mieux connaître l'approche/l'architecture de faire ci-dessus question posée.