Я подумываю перезаписать один и тот же маленький файл 1000 - 100 000 раз в приложении для iOS.Есть ли какие-либо недостатки в этом, учитывая, что флэш-память рассчитана на 1000 записей (но, скажем, не на 100 000)?
Сохранит ли меня системный кэш файлов, если я буду придерживаться стандартных операций FileHandle
?(без необходимости реализовывать свой собственный кеш)
Эта проблема уже решалась ранее: Чтение / запись в / из папки «Документы» iPhone производительность
Есть новые идеи?
Обновление в ответ на некоторые комментарии ниже: в общем, я согласен с вами, что иногда изучение выбора решения более важно, чем помощь с самим предлагаемым решением.
Однако для этого случая я чувствую, что вопрос правомерен.По сути, это относится к любой программе, где имеется небольшой объем очень изменчивых данных, которые необходимо часто сохранять: например, позиция в игре, или биржевой тик, или какой-то счетчик, или последняя нажатая клавиша, или что-то вродетот.После перезапуска процесса его необходимо надежно прочитать, чтобы приложение могло начать с того места, где оно остановилось, поэтому возникает вопрос:
Можно ли использовать для этого файловую систему iOS?Я знаю, что не могу записать 10000 раз в настоящую флэш-память - это сгорело бы.Но решат ли операции файловой системы это для меня с помощью некоторой формы кэширования?Или мне нужно сделать это самому, «вручную»?
Я вроде бы предположил «да» (файловая система решит) - в противном случае другие приложения, которые делают это (должно быть, есть), сгорели бы.телефоны все время!Но: трудно знать наверняка ...
Обновление еще раз: задал этот вопрос на форумах Apple: https://forums.developer.apple.com/thread/116740
Все еще нет четкого ответа.Вот некоторые ответы: просто кешируйте это сами, чтобы избежать таких потенциальных проблем (и может быть: запись файла может завершиться неудачей, а увеличение частоты увеличивает вероятность сбоя странным образом).Другое: iOS регистрирует так много всего, я не могу писать чаще, и это нормально, так что не беспокойтесь ... Думаю, я пока оставлю этот вопрос открытым.