【问题标题】:Is the android app cache cleared after app force close by os?应用程序强制关闭操作系统后,android应用程序缓存是否被清除?
【发布时间】:2012-01-17 13:22:25
【问题描述】:

我正在构建一个 android 应用程序,我需要将一些文件本地保存在 SD 卡上。我想问的问题是android操作系统是否清除了应用缓存

mnt/sdcard/Android/data/app_name/cache/*

由于内存不足(已发送 sigkill)导致应用程序被操作系统关闭后被清除?

在什么情况下或何时清除缓存。如果应用需要安全地保存某些文件,它应该将它们存储在哪里?

【问题讨论】:

    标签: android android-sdcard


    【解决方案1】:

    由于内存不足(已发送 sigkill)导致应用程序被操作系统关闭后被清除?

    在这种情况下不应该被清除。

    在什么情况下或者什么时候清除缓存。

    当用户选择清除它,或者当应用程序被卸载时。由于存储条件低,外部缓存目录不会自动清除。


    如果应用需要安全地保存某些文件,它应该将它们存储在哪里?

    这取决于你对“安全”的定义。

    【讨论】:

    • “安全”是指文件一直存在,直到被某些用户操作删除。
    • @ghostCoder:外部存储上没有什么是“安全的”。不仅任何其他应用程序可以进去删除文件,而且在 Android 1.x 和 2.x 设备上,外部存储可能不可用。从“直到被某些用户操作删除”的角度来看,您需要使用getFilesDir() 来获取应用程序的内部存储部分。
    • 实用清除应用数据时有什么办法可以避免应用被杀
    【解决方案2】:
    • FC 不会清除您的缓存。 FC 意味着您的应用程序的进程已被终止。所以不会影响缓存
    • 当您在设置中的管理应用程序下手动选择清除数据和清除缓存时,您的应用程序的缓存将被清除
    • 为了安全存储,请使用您的外部存储。外部存储通常比内部存储大得多。 (这里安全的意思是,与内部存储相比,避免频繁用完空间)

    【讨论】:

    • 你有什么证据表明当进程被杀死时外部缓存目录被擦除了?文档没有提到这一点。
    • 感谢您的指出。这是一个固定的坏句子:)
    猜你喜欢
    • 2016-03-16
    • 2011-12-29
    • 2013-07-16
    • 2012-09-12
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    相关资源
    最近更新 更多