2014-08-21 3 views
3

В моем приложении используются баннерные объявления, и, к сожалению, каждый раз, когда загружается/отображается баннер, «хранилище» приложения добавляется на какую-то сумму. Чтобы узнать, сколько, приложение использует около 21,69 МБ при первой установке. В течение дня это может достигать 30 МБ. Самое большее - это 51 МБ. В этот момент я очистил хранилище.Очистка хранилища приложений

Теперь, если я отключу рекламу, проблема исчезнет. Я связался с моей рекламной сетью, которая рекомендовала обновить свой SDK, который я сделал, но это не имеет никакого значения.

Дело в том, что это довольно распространенное явление, я загрузил 2 или 3 игры из Play Маркета и протестировал их, запустив, запустив и перезапустив приложения снова и снова, и действительно, хранилище увеличивается.

Мои 2 вопроса:

  • Есть ли способ (программно), чтобы очистить промышленн приложения (скажем, изнутри OnDestroy)
  • Если есть, есть ли способ сделать это, сохраняя shreadPrefs, которые я использую для таких вещей, как настройки пользователей, уровни разблокированы и т. д.
+0

Когда вы запускали приложение в эмуляторе, и вы посмотрели во внутреннем хранилище, чтобы узнать, где размещалось его программное обеспечение для рекламной сети, что вы узнали? – CommonsWare

ответ

0

Да! Баннеры объявлений, вероятно, хранятся в кэше приложений .

Вы можете получить путь к кэшу приложения с помощью метода Context.getCacheDir() (как указано on the doc)!

Итак, я предлагаю вам очистить весь каталог кеша приложений, чтобы сделать все, что вам нужно. К счастью, настройки сохраняются в каталоге данных приложения!

+0

Эй, @KevinVuilleumier, спасибо за это, безвременно, я не думаю, что он хранится в папке с кешем. Я попытался очистить его, и это не имеет значения :-(Кроме того, когда я смотрю настройки приложения, кнопка «Очистить кеш» отключена (указывая, что она пуста) - кнопка «Очистить данные» приложения активна, хотя это должно быть где-то в другом месте.Я посмотрю, смогу ли я узнать, где он помещает файлы. – Zippy

+0

@Zippy Вы пытались просмотреть каталог данных приложения? У вас есть разрешение на запись во внешнее хранилище? –

+0

Нет, но ваш ответ, о дальнейших исследованиях, позвольте мне обратиться к этому http://www.hrupin.com/2011/11/how-to-clear-user-data-in-your-android-application-programmatically, мне удалось выяснить из некоторых экспериментов из этого видно, что очистка папки app_webview делает трюк, однако я прочитал, что приложение SDK просто кэширует объявления для более быстрой загрузки, а ОС Android должна очищать кеш, если он становится слишком большим. оставьте его, если это так, как это должно быть. Но отметьте ваш ответ, как он подвел меня к этому! (Теперь убедитесь, что верно e это, хотя об ОС, очищающей сам кеш). – Zippy

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