причиной серьезного оттока активных пользователей. Люди ненавидят ждать и вполне возможно что пользователь удалит ваше приложения даже не перейдя на первый экран. Время старта должно стремиться к нулю Полный контроль загрузки и работы с фалами Загружать только то без чего не обойтись Оптимизировать и еще раз оптимизировать Упаковывайте как можно больше ресурсов вместе с приложением. Работа с диском быстрее чем с Интернетом
ресурсов * File.preventBackup ** только для чтения Доступ к файлу только после его полной загрузки Сохранить файл на жестком диска после загрузки Loader’ом очень сложно При потере соединения придется перезагружать весь файл Невозможно распределить нагрузку на CPU
один большой + Загружается только то что необходимо. Экономим время и память. + Легко контролировать процесс загрузки. + Нету проблем с namespace - Даже при обновлении одного файла придётся загружать весь пакет Чем больше количество файлов, тем дольше они грузиться. Даже если файлы маленького размера. Для каждого загружаемого файла создается новое соединение с сервером или хранилищем. На это тратиться как время так и ресурс производительности. Объединять ресурсы в пакеты желательно по их категориям: GUI - Графический интерфейс Global - Общие файлы Level 1 - Ресурсы для первого уровня Level 2 - Ресурсы для второго уровня ...
состоит из кусков по 512 байт. Можно распаковать не дожидаясь полной загрузки файла. TAR популярный формат и для него написано куча библиотек. Заголовок - 521 байт, содержащий информацию о файле и его размере. Часть файла - 512 байт. Количесво частей = 512 * round( Размер файла / 512 ). Если последняя часть файла меньше 512 байт, оставшиеся байты заполнятются нулями. Пример: Header( name = file1, size = 1024) File Part (512 bytes) File Part (512 bytes) Header( name = file2, size = 1536) File Part (512 bytes) ... Подробная информация о заголовках архивов tar и USTAR http://www.mkssoftware.com/docs/man4/tar.4.asp Распределенная распаковка tar https://github.com/MerlinDS/as_tar