Мое приложение ориентировано на данные и нуждается в частом обновлении. В настоящее время база данных MySQL выгружается в XML-файл через PHP, и при загрузке приложения оно загружает этот файл. Затем он загружает все значения в NSMutableArray внутри класса менеджера данных, к которому можно получить доступ в любом месте приложения.
В этом и заключается проблема, размер создаваемого XML-файла составляет около 400 КБ, и загрузка его в сети EDGE, по-видимому, занимает несколько минут, и даже для некоторых людей в 3G. Поэтому в основном я ищу варианты правильного кэширования или оптимизации процесса загрузки моего приложения.
Моя текущая мысль заключается в том, чтобы кэшировать весь XML-файл на жесткий диск iPhone, а затем просто передавать эти данные, пока пользователь просматривает приложение, и загружать новый XML-файл в фоновом режиме. Проблема заключается в том, что пользователь теперь всегда будет видеть данные предыдущего запуска, а также каждый раз загружать весь файл XML, если было изменено только одно поле, расточительно.
TLDR: загрузка данных из моего iPhone-приложения происходит медленно, как правильно минимизировать этот эффект?