Размер кеша во внутренней памяти - PullRequest
0 голосов
/ 22 февраля 2012

Я хочу использовать внутреннюю память для хранения файлов кэша вместо внешнего хранилища. Основная причина в том, что мое приложение должно работать, даже если внешнее хранилище используется совместно с компьютером.

В документации разработчика сказано: «Вы всегда должны поддерживать файлы кэша самостоятельно и не выходить за разумные пределы, например, 1 МБ.». Этот текст слишком старый? Устройства, которые я видел за последние 12 месяцев, имеют сотни мегабайт встроенной памяти (планшеты могут иметь гигабайты - и я не путаю различные типы хранилищ здесь).

Даже приличный эскиз на большом экране может легко занимать около 20-30 Кбайт, и вы можете отобразить на экране 50 миниатюр одновременно. Если вы сделаете прокрутку, вы будете использовать более 1 МБ.

Вы, ребята, думаете, я могу пойти, скажем, 10 мег (не поднимаясь выше, поддерживая его должным образом)? Знаете ли вы о каком-либо приложении Google или другом популярном приложении, которое имеет кэш-память большего размера во внутренней памяти, чем 1 МБ?

Edit: Я спрашиваю об этом типе памяти: http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

1 Ответ

0 голосов
/ 22 февраля 2012

Устройства, которые я видел за последние 12 месяцев, имеют сотни мегабайт внутренней памяти (планшеты могут иметь гигабайты - и я не путаю различные типы хранилищ здесь).

Новые устройства имеют больше памяти. Старые устройства имеют меньше места для хранения. Поддерживая только новые обновления ОС Android, вы будете иметь устройства с большим объемом внутренней памяти. И, начиная с Android 3.0, внутреннее и внешнее хранилище работают из одного пространства (внешнее хранилище фактически является подкаталогом во внутреннем хранилище), и внешнее хранилище должно быть всегда доступно.

Вы, ребята, думаете, я могу пойти, скажем, 10 мег (не поднимаясь выше, поддерживая его должным образом)?

На Android 3.0 и выше, конечно.

На Android 2.3 и выше, возможно.

На Android 2.2 и ниже я бы не стал.

И в любом из этих случаев:

  • Разрешить пользователю настраивать размер кеша
  • Уважайте ACTION_DEVICE_STORAGE_LOW трансляции, чтобы урезать ваш кэш
...