【问题标题】:IONIC 3 - Clear application data programmaticallyIONIC 3 - 以编程方式清除应用程序数据
【发布时间】:2018-06-07 17:36:48
【问题描述】:

我正在构建一个应用程序,我需要在注销后清除缓存和本地存储数据。

我的注销方法调用clearCache() 方法。我正在使用 cordova 存储插件。

  import { Storage } from '@ionic/storage';
  @Injectable()
  export class CacheService {   

    constructor(public cache: Storage) {}
    public clearCache(){
      this.cache.clear();
      localStorage.clear();
    }
  }

缓存和本地存储正在清理,但是当我转到 > 设置 -> 应用程序 -> 管理应用程序 -> 我的应用程序时,它显示数据和缓存一直存储在 Android 应用程序数据中。 我可以手动完成:

设置 -> 应用程序 -> 管理应用程序 -> 我的应用程序 -> 清除数据

如何像手动一样以编程方式清除应用程序数据?

【问题讨论】:

  • 嗨@jraspante 你真的需要清除缓存数据吗?从那时起,您就有了应用程序状态,就像您第一次在设备上安装它时一样。没有其他的。我认为将用户设置为 LocalStorage 就足够了,并在注销后从中清除用户数据。你用哪个插件来清除缓存数据?
  • @MarkoSavic 我正在从 API 获取数据并存储在缓存中以离线使用该数据。当我注销然后登录时,该应用程序正在增加内存使用量。我正在使用存储插件。 ionicframework.com/docs/storage

标签: javascript android cordova ionic-framework


【解决方案1】:

随着应用程序大小的增加(文档和数据 > 100MB),我也遇到了类似的问题。即使应用程序并没有真正在本地存储任何内容。

我将问题(在 iOS 上)追踪到应用程序缓存,其中 InAppBrowser 和 HTTP.GET 调用缓存在 Caches/[com.mybiz.app]/WebKit/NetworkCache/...

现在我一直在测试使用文件插件在启动时删除旧缓存:

this.file.removeRecursively(this.file.cacheDirectory, 'com.mybiz.app').catch(err => Pro.monitoring.exception(err))

只是不知道这是否会影响 Ionic Deploy 更新。在清除缓存之前,我们可能需要通过 Deploy API 检查可能的更新。

【讨论】:

    猜你喜欢
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    相关资源
    最近更新 更多