【问题标题】:Clearing app storage清除应用程序存储
【发布时间】:2014-08-21 13:58:59
【问题描述】:

我的应用使用横幅广告,不幸的是,每次加载/显示横幅时,应用的“存储空间”都会增加一些。为了了解多少,该应用程序在首次安装时使用了大约 21.69MB。一天之内,这可以达到 30MB。它最多可以达到 51MB。那时我清理了存储空间。

现在,如果我禁用广告,那么问题就会消失。我联系了我的广告网络,他们建议我升级我的 SDK,但没有任何影响。

问题是,这似乎很常见,我从 Play 商店下载了 2 或 3 款游戏,并通过反复启动、退出和重新启动应用程序进行测试,实际上,存储空间增加了。

我的两个问题是:

  • 是否有任何方法(以编程方式)清除应用的存储空间(例如从 onDestroy 内部)
  • 如果有,有什么方法可以做到这一点,同时保留我用于用户设置、解锁级别等的 shreadPrefs。

【问题讨论】:

  • 当您在模拟器中运行应用程序并查看内部存储以查看广告网络软件将其文件放置在何处时,您学到了什么?

标签: android memory-management sharedpreferences storage


【解决方案1】:

是的!广告横幅可能存储在应用缓存中。

您可以通过Context.getCacheDir()方法获取应用缓存路径(如on the doc)!

所以,我建议你清空整个应用缓存目录来做你想做的事。幸运的是,首选项存储在应用数据目录中!

【讨论】:

  • 嘿@KevinVuilleumier,谢谢你,不幸的是,我不认为它存储在缓存文件夹中。我已经尝试清除它,但没有任何区别:-(另外,当我查看应用程序设置时,“清除缓存”按钮被禁用(表示它是空的)-应用程序的“清除数据”按钮处于活动状态,所以它一定是在别的地方。我看看能不能找出把文件放在哪里。
  • @Zippy 你试过浏览应用数据目录吗?您是否有权写入外部存储?
  • 不,但是你的答案,在进一步研究中,让我到这个hrupin.com/2011/11/…,我设法从一些实验中发现,清除 app_webview 文件夹似乎可以解决问题,但是,我'已经读过应用 SDK 只是缓存广告以加快加载速度,如果缓存太大,Android 操作系统应该清除缓存。所以,如果这就是它的意图,我可能会离开它。但是会标记你的答案,因为它导致我这样做! (现在确定操作系统清除缓存本身的真实性)。
  • 很高兴为您提供帮助!是的,我怀疑操作系统会自行清除缓存。
猜你喜欢
  • 2012-09-07
  • 1970-01-01
  • 2016-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多