代码之家  ›  专栏  ›  技术社区  ›  Samuh

Android应用中大量文本和音频数据的缓存方法

  •  1
  • Samuh  · 技术社区  · 15 年前

    我们应该在应用程序中缓存文本和音频数据 直到设备启动或最多两天,以发生者为准 早期的。要对要缓存的数据进行透视,请注意 要存储大约200个包含10个字段的文本标题,每个字段 长度为30字节,大约20个声音文件,每个大约一分钟长。

    我们通过解析XML获取文本数据,然后保留它们 在ArrayLists。声音文件直接写在应用程序中 使用文件I/O(而不是SD卡或应用程序缓存目录)进行存储。

    此应用程序将在运行Android 1.5或更高版本的设备上运行。

    我明白,如果我错了请纠正我,我们可以缓存 SD卡上、应用程序内部或内部的文件 应用程序缓存目录。

    关于如何处理缓存,我有以下问题:

    1. 我们应该在应用程序sqlite数据库中保留文本数据吗 还是应该使用Java序列化机制并继续执行列表 对象(构成可序列化组件)内部 应用程序?
    2. 我们应该在哪里写文本数据/声音文件-内部 应用程序、缓存或SD卡?
    3. 所有这些都可以保存到应用程序缓存目录吗?多大 缓存目录可以增长吗?
    4. 我们能指定一个到Android运行时的时间跨度吗? 保持?或者我们必须手动操作?

    请提供帮助和建议。

    谢谢。 注:也问过这个问题 here .

    1 回复  |  直到 15 年前
        1
  •  2
  •   yanchenko    15 年前
    1. SQLite数据库。这样,您就可以保存内存并使用 CursorAdapter S.
    2. 把它们放在SD上,内存非常有限
    3. 我完全避免使用app cache目录,2
    4. 您必须自己将文件修改时间戳与当前时间戳进行比较。我在做这个 Application onCreate() .

    我在用

    • 风俗习惯 android.intent.action.BOOT_COMPLETED 卡安装时接收器到init cache dir
    • 用于缓存读/写/清理的帮助程序类,用于保存/还原的方法 BitmapDrawable 作为PNG,为缓存文件名创建MD5哈希。