【问题标题】:Sizing cache in Internal Memory在内存中调整缓存大小
【发布时间】:2012-03-13 01:16:03
【问题描述】:

我希望使用内部存储器而不是外部存储器来存储我的缓存文件。主要原因是即使外部存储与计算机共享,我也需要我的应用程序正常运行。

开发文档说“您应该始终自己维护缓存文件并保持在合理的空间消耗限制范围内,例如 1MB。”。 这段文字是不是太旧了?我在过去 12 个月中看到的设备有数百兆的内存(平板电脑可以有千兆字节 - 我在这里并没有混淆不同类型的存储)。

即使是大屏幕上一个不错的缩略图也可以轻松达到 20-30 KB 左右,您可以一次在屏幕上显示 50 个缩略图。如果您进行一些滚动,您将使用超过 1MB 的空间。

你们认为我可以假设 10 兆(不要更高,保持适当)吗? 您是否知道任何 Google 应用程序或其他流行的应用程序在内部存储中保持比 1MB 更大的缓存?

编辑: 我在问这种类型的内存: http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

【问题讨论】:

  • 文本是否可能与实际的硬件缓存内存有关? 1-2MB 对于缓存来说是一个不错的数量。

标签: android caching memory storage internal


【解决方案1】:

我在过去 12 个月中看到的设备有数百兆的内部内存(平板电脑可以有千兆字节 - 我在这里并没有混淆不同类型的存储)。

较新的设备具有更多存储空间。旧设备的存储空间更少。通过仅支持较新的 Android 操作系统更新,您将倾向于拥有具有更多内部存储的设备。而且,从 Android 3.0 开始,内部和外部存储在同一空间工作(外部存储实际上是内部存储中的一个子目录)并且外部存储应该始终可用。

你们认为我可以假设 10 兆(不要更高,适当维护)吗?

在 Android 3.0 及更高版本上,当然。

可能在 Android 2.3 及更高版本上。

在 Android 2.2 及更低版本上,我不会。

而且,在任何这些情况下:

  • 允许用户配置缓存大小
  • 尊敬 ACTION_DEVICE_STORAGE_LOW 广播以减少您的缓存

【讨论】:

  • 您好 CommonsWare,感谢您的回复。我想你可能误解了我的意思。我说的是内部存储,它是应用程序私有的,除非设备已植根,否则其他任何人都无法访问。
  • @user289463:不,我理解你。我的答案仍然有效。
  • 我的评论很差而且有问题,对不起。更好的尝试: 我正在使用的术语: 内部存储器:应用程序私有存储,在过去非常有限 电话存储:HTC 的嵌入式“闪存驱动器”术语 外部存储:Android 的唯一存储术语,它不是内部存储器。 (Google 不正式支持 OEM 存储黑客,除非他们将其添加为现有外部存储位置下的子目录)所以,我不打算使用外部存储。
  • 另外关于“外部存储应该始终可用”:在 Xoom 上是这样的,是的。 ..但是看看 HTC Flyer with Honeycomb。他们设法将原来的共享/挂载的独占限制破解回 Honeycomb ..
  • @user289463:我仍然理解你。我的答案仍然成立。你问是否可以使用 10MB 的缓存存储,我的回答是我不会在 Android 2.2 或更低版本上这样做,但在 Android 3.0 及更高版本上应该不成问题。答案的哪一部分太复杂了?
猜你喜欢
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
  • 2013-07-26
  • 2012-03-13
  • 2011-05-17
  • 2012-08-09
相关资源
最近更新 更多