You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用专属文件在AS重启后消失,请求排查原因

问题分析与解决

核心结论

getFilesDir() 属于应用私有内部存储,正常重启应用不会自动删除其中的文件,你遇到的文件消失问题大概率是开发环境的配置导致的,而非代码或系统机制问题。

可能的原因及解决办法

  • Android Studio Run配置自动清数据
    检查你的Run配置:打开Run/Debug Configurations → 选中你的App配置 → 切换到Launch Options标签,查看是否勾选了Clear app data。如果勾选,每次点击Run运行应用时,Android Studio会自动清除应用的所有私有数据,包括getFilesDir()下的文件。取消这个勾选即可解决。

  • 模拟器配置自动重置数据
    如果你使用的是Android模拟器,检查模拟器的创建/启动配置:是否勾选了Erase user data on exit选项。如果勾选,关闭模拟器后所有用户数据会被清空,下次启动模拟器相当于全新安装应用,自然找不到之前创建的文件。修改模拟器配置,取消该选项即可。

  • 代码逻辑优化建议(非文件消失原因)
    你的代码每次进入onCreate都会直接创建FileWriter,默认会覆盖原文件内容(但不会删除文件)。如果需要保留原有内容,可以修改为追加模式:

    // 第二个参数传true表示追加写入,而非覆盖
    FileWriter fw = new FileWriter(test, true);
    

    或者先判断文件是否存在,仅在不存在时创建写入:

    if (!test.exists()) {
        try {
            FileWriter fw = new FileWriter(test);
            fw.write("hello there");
            fw.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    

内容的提问来源于stack exchange,提问作者user1012480

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 02:56:13