【问题标题】:Any option to restrict our Android application cache being cleared?任何限制我们的 Android 应用程序缓存被清除的选项?
【发布时间】:2017-03-02 14:51:52
【问题描述】:

我们在 android 应用开发中是否有任何选项/库来限制我们应用的缓存被清除?

我们正面临一个基于场景的问题。因为,我们有离线应用程序,只要用户连接到网络,它就会在线同步。同时,如果用户运行一些“清理应用程序”,则会清除存储在我们应用程序中的所有离线数据。

请帮助我进一步处理这个问题。 我们同时拥有 Hybrid android 和 Native android 应用程序。

如果答案是否定的,如何重组/避免使用 HYBRID 应用程序的缓存存储?

【问题讨论】:

  • 我不这么认为。
  • 将数据放入缓存目录背后的完整和完整的是为了让用户更容易回收该空间。如果您不希望这种行为,不要将数据放在缓存目录中
  • 有什么提示可以避免我们的应用在 HYBRID android 应用程序中使用缓存目录?

标签: android caching hybrid-mobile-app


【解决方案1】:

如果不将我们应用程序的文件存储路径从 android temp(cache) 文件夹更改为 app assets(root) 文件夹,我就无法使用外部库来限制 Clear Cache 的 Android 应用程序的研究。

默认应用缓存存储路径: internalStorage/Android/data/app_package_name/cache

这需要从上面提到的缓存存储路径更改为应用存储(即,将文件保存在资产文件夹中)

对于 CLEAR APP DATA 选项:

这可以通过将android:manageSpaceActivity=".ActivityOfMyChoice" 添加到您的清单的应用程序标签来完成,例如:

<application android:label="MyApp" android:icon="@drawable/icon" 
             android:manageSpaceActivity=".ActivityOfMyChoice">

完成后,应用会在应用存储选项中显示“管理空间”按钮,而不是“清除数据”。

【讨论】:

    【解决方案2】:

    android:manageSpaceActivity=".ActivityOfMyChoice"添加到您的清单的application标签中,例如:

    <application android:label="MyApp" android:icon="@drawable/icon" 
                     android:manageSpaceActivity=".ActivityOfMyChoice">
    

    然后,不是 “清除数据”,而是一个用于启动 ActivityOfMyChoice“管理空间” 按钮 它适用于 UC 浏览器和 dolphin 浏览器。

    【讨论】:

    • 我知道这个“清除数据”的事情。实际上,我想知道,“清除缓存”是否有任何可用的修复程序。如果否,我们是否需要更改应用存储的结构?请澄清
    猜你喜欢
    • 1970-01-01
    • 2010-12-24
    • 2013-01-08
    • 2012-11-14
    • 1970-01-01
    • 2015-09-07
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多