iOs utilise-t-il une allocation non contiguë ou contiguë dans la gestion de la mémoire ? supposons que si l'utilisateur alloue plus de 128 Mo, l'application sera-t-elle fermée ? ou La mémoire sera gérée par iOS comme si l'utilisateur allouait de la mémoire et manquait la désallocation dans la méthode Deallocate ? est-il possible d'utiliser plus de 120 Mo dans l'application en utilisant une allocation de structure de données bien définie ?
Réponses
Trop de publicités?Sous le capot, iOS utilise malloc et ses amis pour allouer de la mémoire à chaque objet, donc oui, la mémoire renvoyée est bien contiguë. Si vous essayez d'allouer plus que la mémoire contiguë disponible, l'appel malloc renverra NULL (et probablement quelque chose d'autre échouera en essayant d'accéder à un pointeur null s'il n'est pas correctement vérifié)
Je ne sais pas si la limite d'utilisation de la mémoire de l'application est de 128 Mo ou non. Mais si vous consommez plus de mémoire, votre application recevra des avertissements de mémoire. Si vous les manipulez et effacez le cache et les autres objets que vous pouvez créer ultérieurement, votre application ne se fermera pas. Si vous les ignorez, votre application se fermera.