12647Fermer12649
BrunniLe 07/11/2017 à 23:49
Euh c'est dit un peu partout que ça empire, mais c'est tellement habituel que ce n'est peut être pas souligné suffisamment ouais. Disons le truc comme ça, ton iPhone a 1 Go de RAM OK ? Le système consomme 700~800 Mo au repos, sans app sans rien. Il est juste "chargé" ainsi, on ne compte pas le file cache. Il peut se "compresser" pour te laisser jusqu'à 500~600 Mo de libre, qui va être partagé entre l'application en avant-plan mais aussi quelques applis récemment lancées (multi-tâche). Le soft du clavier prend dans les 50~100 Mo, je ne sais plus.

Dès que tu lances une application tu vas remplir la mémoire et donc il va décharger des parties du système. Le multi-tâche (qu'il s'empêche de killer des apps qui consomment de la mémoire sans être actives car il n'y a pas de swap, pour que tu puisses y revenir plus tard) augmente la pression sur le peu de mémoire disponible et fait qu'il va en particulier décharger des services faciles à recharger comme le clavier. Ajoute aussi l'allocation de mémoire dynamique pour le GPU qui nécessite de garder un peu de mémoire de côté et gérer les fluctuations qui peuvent être rapides (un simple layer 1136x640x4 = 3 Mo, et encore t'as de la chance avec ton 5S).

Donc résultat le clavier peut prendre 0 secondes à charger s'il était ouvert, 1~2 sec s'il n'y a qu'à le recharger en mémoire (plus courant), jusqu'à 5+ sec s'il faut libérer des ressources mais qu'il n'y en a pas et que pour cela il doit quitter une appli en background, tout en attendant qu'elle ait répondu aux handlers de terminaison, etc.

La réalité c'est que le rapport entre la mémoire disponible et ce que prend l'OS est aujourd'hui le même qu'il était sur l'iPhone d'origine (128 Mo, 100 Mo en moyenne utilisés par iOS 3, jusqu'à 40 Mo libérables). Donc les iPhone 5 et 6 ne devraient techniquement pas avoir de multi-tâche, mais voilà s'ils enlevaient ça ça ferait vraiment tâche, mais c'est un peu ce que ça donnait quand tu forçais le multi-tâche sur l'iPhone 3G.