gpt4 book ai didi

react-native:以编程方式从应用程序内部清除缓存(例如,通过按钮单击)

转载 作者:行者123 更新时间:2023-12-04 04:50:04 26 4
gpt4 key购买 nike

是否可以在 React-Native 中实现某种“清除缓存”功能,以便用户可以单击按钮并清除应用程序缓存?

提前致谢。

最佳答案

你可以使用这个模块https://github.com/midas-gufei/react-native-clear-app-cache

或根据您的项目要求在 native 中单独实现缓存删除(就像我的项目只需要摆脱 mp4s 和 pdfs)
缓存资源可以在以下位置找到:
ios: NSTemporaryDirectory()

  NSError *error;

NSArray *directoryItems1 = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:NSTemporaryDirectory() error:&error];
NSLog(@"%@, %@", directoryItems1, [directoryItems1 objectAtIndex:0]);


if ([[NSFileManager defaultManager] fileExistsAtPath:[directoryItems1 objectAtIndex:0]]) //Does directory exist?
{
if (![[NSFileManager defaultManager] removeItemAtPath:[directoryItems1 objectAtIndex:0] error:&error]) //Delete it
{
NSLog(@"Delete directory error: %@", error);
}
}

安卓:
`
public void clearApplicationData()
{
File cache = getCacheDir();
File appDir = new File(cache.getParent());
if (appDir.exists()) {
String[] test = cache.list();
Log.d("before", Arrays.toString(test));
for (String s : test) {
if (s.contains(".pdf") || s.contains(".mp4")) {
deleteDir(new File(cache, s));
Log.i("TAG", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************");
}
}
Log.d("After delete", Arrays.toString(cache.list()));
}
}

public static boolean deleteDir(File dir)
{
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
return dir.delete();
}`

关于react-native:以编程方式从应用程序内部清除缓存(例如,通过按钮单击),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41614604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com