Android Studio - 如何清除资产文件夹缓存?
Android Studio - How to clear assets folder cache?
我使用 Android Studio 来管理我的 Android 代码。在项目结构中,我创建了资产文件夹,将一些表情符号保存在不同的文件夹中。
asset folder
但不知何故,当我在使用不同文件夹和表情符号的 2 个分支之间切换时,并使用如下代码加载这些文件夹中的所有图像:
public static boolean initialize(Context context) {
if(tapEmoticonNameMap!=null)
return true;
tapEmoticonNameMap = new HashMap<>();
try {
for(String tabDir : tabStringList) {
String[] list = context.getAssets().list(tabDir);
if (list.length > 0) {
ArrayList<String> pngList = new ArrayList<>();
for(String name : list) {
if(name.endsWith(".png")) {
pngList.add(name);
}
}
tapEmoticonNameMap.put(tabDir, pngList);
}
}
} catch (IOException e) {
return false;
}
return true;
}
事实上,它不仅加载了那些文件夹中的每个实际图像,还包括了前一个分支中的图像。有什么解决这个问题的建议吗?在这种情况下如何删除缓存文件夹?任何帮助将不胜感激。
折腾了半天,想了一堆办法:
- clean/rebuild项目这么多次
- 按照如何从此 link How to clear gradle cache?
清除缓存的方法
- 再次导入项目
- 重启电脑,再建
但是问题依旧。最终,我找到了解决这个可怕问题的方法。
解决方案是我们应该删除项目文件夹中隐藏的 .gradle 文件夹。
希望对你有所帮助,尤其是对那些和我一样面临同样问题的人。
我使用 Android Studio 来管理我的 Android 代码。在项目结构中,我创建了资产文件夹,将一些表情符号保存在不同的文件夹中。
asset folder
但不知何故,当我在使用不同文件夹和表情符号的 2 个分支之间切换时,并使用如下代码加载这些文件夹中的所有图像:
public static boolean initialize(Context context) {
if(tapEmoticonNameMap!=null)
return true;
tapEmoticonNameMap = new HashMap<>();
try {
for(String tabDir : tabStringList) {
String[] list = context.getAssets().list(tabDir);
if (list.length > 0) {
ArrayList<String> pngList = new ArrayList<>();
for(String name : list) {
if(name.endsWith(".png")) {
pngList.add(name);
}
}
tapEmoticonNameMap.put(tabDir, pngList);
}
}
} catch (IOException e) {
return false;
}
return true;
}
事实上,它不仅加载了那些文件夹中的每个实际图像,还包括了前一个分支中的图像。有什么解决这个问题的建议吗?在这种情况下如何删除缓存文件夹?任何帮助将不胜感激。
折腾了半天,想了一堆办法:
- clean/rebuild项目这么多次
- 按照如何从此 link How to clear gradle cache? 清除缓存的方法
- 再次导入项目
- 重启电脑,再建
但是问题依旧。最终,我找到了解决这个可怕问题的方法。
解决方案是我们应该删除项目文件夹中隐藏的 .gradle 文件夹。
希望对你有所帮助,尤其是对那些和我一样面临同样问题的人。