Comment fonctionne la plate-forme iOS gérer des fichiers mappés en mémoire au cours de la basse-mémoire scénarios? Par faible mémoire des scénarios, je veux dire lorsque le système d'exploitation envoie l' UIApplicationDidReceiveMemoryWarningNotification
de notification à tous les observateurs dans l'application.
Nos fichiers sont mappés en mémoire à l'aide de +[NSData dataWithContentsOfMappedFile:]
, la documentation qui stipule:
Un fichier mappé utilise la mémoire virtuelle techniques pour éviter la copie de pages du fichier en mémoire jusqu'à ce qu'ils sont réellement nécessaires.
Est-ce à dire que l'OS sera également détacher les pages quand elles ne sont plus en cours d'utilisation? Est-il possible de marquer les pages ne sont plus en cours d'utilisation? Ces données sont en lecture seule, si cela change le scénario. Que diriez-vous si nous devions utiliser mmap()
directement? Serait-ce préférable?