如何清除设备内存缓存

时间:2019-08-29 05:11:21

标签: java android android-transitions

在我的android应用中,我正在使用过渡场景。在仿真器上,它可以正常工作,但在物理设备上,转换发生的次数越多,转换之间的时间就会增加,从而降低应用程序的速度。我需要清除设备缓存以阻止这种情况的发生。

我尝试了清除高速缓存的代码,但是android studio发出警告,删除代码将被忽略。我还没有其他方法可以做到这一点。

public void clearCache() {
Log.i(TAG, "Clearing Cache.");
File[] dir = mContext.getCacheDir().listFiles();
if(dir != null){
    for (File f : dir){
        f.delete();
    }
   }
}

系统将忽略delete()方法调用,因此代码不起作用。我需要清除设备缓存可以有人帮忙。

1 个答案:

答案 0 :(得分:0)

android studio gives out a warning that the delete code will be ignored是错误的,它不会发出这样的警告。

它表示f.delete()结果被忽略。
f.delete()返回true / false作为结果,表示

  • true(如果文件已删除)
  • false,如果文件删除失败。

如果您不关心delete()结果,或者像

那样检查它,则可以忽略此警告。
for (File f : dir){
    if(!f.delete()) {
        //deletion failed. Do something about it
    }
}

如果只希望警告消失,则可以执行

for (File f : dir){
    boolean ignored = f.delete();
}