2014-02-13 4 views
4

ДрузьяКаков более быстрый способ доступа к файлам?

Мне любопытно, какой из них является более быстрым.

  • Если я доступ/читать файлы из папки Assets проекта? !!

ИЛИ

  • Если я доступ/читать файлы из SDcard ?? !!!

Основываясь на производительности приложения, которое является лучшим способом?

Возможно, кто-нибудь может объяснить мне причину?

Любая помощь будет оценена по достоинству.

спасибо.

+3

Доступ к папке «Активы» будет быстрее, потому что эти данные доступны в ОЗУ, у которого есть более быстрое время доступа, чем флэш-накопители. – tipycalFlow

ответ

2

Основываясь на производительности приложения, которое один из является лучшим способом

При добавлении файлов в активы папки увеличивается размером всего вашего приложения, поэтому вам потребуется больше оперативная память вашего устройства для выполнения приложения. Хотя приложение будет реагировать быстрее, это также требует больше памяти для запуска.

Но когда вы храните этот файл на SD-карте, вам потребуется меньше оперативной памяти для загрузки вашего приложения. Получение файлов с SD-карты уменьшит вашу производительность больше, чем первый вариант, но разница немного.

+0

Но поскольку папка с ресурсами доступна только для чтения. Поэтому, если я хочу изменить некоторые файлы во время выполнения, я должен получить этот файл на SDCard, а затем только его изменить. В этой ситуации это, безусловно, повлияет на производительность. Что вы скажете по этому сценарию? – GrIsHu

+0

Еще одна вещь, если вы поместите файл более 1 МБ в активы, то он не позволит вам. В этой ситуации вы должны сохранить его на SD-карте, а затем получить к нему доступ. Поэтому, если размер файла будет ближе к 1 МБ, это приведет к тому, что ваше приложение будет немного медленнее загружать в память, и это замедлит ваше приложение. – GrIsHu

+0

@GrIsHu Друг, вы уже знаете лучший ответ. – user3301551

2

Я хочу добавить еще несколько здесь, вам нужно также рассмотреть размер своего файла в случае производительности доступа. Ссылаясь от This, файлы за 1Mb, размещенные в папке . Активы папка не будет читаема из вашей заявки, будет генерировать исключение. Поскольку файлы были сжаты во время процесса сборки, и, таким образом, телефон требует ресурсов, чтобы распаковать их, когда они находятся на трубке.
Обычно, когда размер вашего файла небольшой, определенно чтение из папки с данными происходит быстрее, чем чтение с SD-карты. Но, на мой взгляд, если вы считаете размер файла и безопасность исключений, тогда безопаснее читать его с SD-карты. Это увеличивает общую производительность системы, а не некоторую небольшую разницу во времени, которая не видна в вашем глазу.

Смежные вопросы