ログアウト後にキャッシュとローカルストレージデータをクリアする必要があるアプリケーションを構築しています。
私のログアウトメソッドはメソッドを呼び出しますclearCache()
。私はcordovaストレージプラグインを使用しています。
import { Storage } from '@ionic/storage';
@Injectable()
export class CacheService {
constructor(public cache: Storage) {}
public clearCache(){
this.cache.clear();
localStorage.clear();
}
}
キャッシュとローカルストレージはクリーンアップされていますが、> [設定]-> [アプリケーション]-> [アプリケーションの管理]-> [マイアプリケーション]に移動すると、データとキャッシュがAndroidアプリケーションデータに保存されていることが示されます。私はそれを手動で行うことができます:
[設定]-> [アプリケーション]-> [アプリケーションの管理]-> [マイアプリケーション]-> [データの消去]
手動で行うのと同じように、プログラムでアプリケーションデータをクリアするにはどうすればよいですか?
アプリのサイズが大きくなる(ドキュメントとデータが100 MBを超える)場合にも、同様の問題が発生しました。アプリは実際にはローカルに何も保存していませんが。
問題を(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))
これがIonicDeployの更新に影響を与える可能性があるかどうかはわかりません。キャッシュをクリアする前に、DeployAPIを介して可能な更新を確認する必要がある場合があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加