菜鸡456 2023-10-12 10:14 采纳率: 0%
浏览 6
已结题

firebase报错DiskFull怎么回事

我们使用unity开发一款休闲单机游戏,发布安卓端。接入了firebase报错的那个sdk,发现firebase后台给报了许多这个错:说是存储空间满了的:

img

这样报错有很多,但是观察用户属性信息,有很多的还剩很大的存储空间:

img

很奇怪,我存储的数据只有不到几kb,为什么会有几百个用户都有这种报错,下边是我存储本地玩家数据的代码:

 public void Save(string type)
    {
        var p = Application.persistentDataPath + "/" + type + ".save";

        IFormatter formatter = new BinaryFormatter();
        Stream stream;

        try
        {
            stream = new FileStream(p, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
        }
        catch(Exception)
        {
            return;
        }
        if (stream == null)
        {
            return;
        }
        switch (type)
        {
            case "ExpInfo":
                formatter.Serialize(stream, expDic);
                break;
            case "Unlocked":
                formatter.Serialize(stream, unlocked);
                break;
            case "BirdActivity":
                formatter.Serialize(stream, birdActivity);
                break;
            case "BalloonRiseData":
                formatter.Serialize(stream, balloonRise);
                break;
            case "GatherGameData":
                formatter.Serialize(stream, gatherGameData);
                break;
            case "DiceActivity":
                formatter.Serialize(stream, diceActivity);
                break;
            default:
                //Debug.LogError("save type error");
                break;
        }
        stream.Flush();
        stream.Close();
        stream.Dispose();
    }

求帮看看我这样存储本地数据是有什么问题嘛,为什么有这么多上报提示,这些会不会影响谷歌的anr和crash数据统计我不太确定,有没有这方面经验的帮忙解答~

  • 写回答

9条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-12 12:09
    关注
    获得1.50元问题酬金

    【以下回答由 GPT 生成】

    解决方案

    根据你提供的代码,存储本地玩家数据的逻辑看起来应该没有问题。然而,由于这些报错信息是与Firebase的存储空间相关的,问题可能出在Firebase的配置或者使用上。

    首先,我们需要确认一下问题的来源。以下是一些可能的原因和解决方案:

    1. 存储空间配额问题:检查一下你的Firebase存储空间是否达到了配额限制。你可以通过登录Firebase控制台并查看存储空间的使用情况来确认。如果存储空间已满,你可以尝试升级你的存储计划或者删除一些不必要的数据来释放空间。

    2. 数据写入频繁:如果你的游戏中频繁地写入数据到Firebase存储空间,可能会导致存储空间的满。你可以尝试优化你的数据写入逻辑,减少不必要的写入操作。

    3. 网络连接问题:如果在写入数据时遇到了网络连接问题,Firebase可能会将未成功写入的数据缓存到本地,并尝试在之后的某个时间点重新上传。如果这种情况频繁发生,可能会导致本地缓存数据增加,最终导致存储空间满。你可以检查一下你的网络连接是否稳定,并尝试使用Firebase的离线写入功能来处理网络连接不稳定的情况。

    4. 其他问题:如果以上的解决方案都没有解决问题,可能需要更详细地分析错误报告和日志,以便找到问题的根本原因。你可以尝试使用Firebase提供的错误报告和日志功能,查看具体的错误信息和异常堆栈,以便更好地定位问题。

    需要注意的是,以上解决方案仅提供了一些常见的问题和可能的解决方案,具体情况还需根据实际情况进行调试和分析。如果问题仍然存在,建议向Firebase的支持团队或者社区寻求帮助,以获得更专业和准确的解答。

    关于谷歌的ANR和Crash数据统计,存储空间满的错误报告可能不会直接影响到这些统计数据。ANR和Crash数据主要是针对应用程序崩溃和无响应的情况,与存储空间报错问题不太相关。然而,如果存储空间满导致的错误会对应用程序的性能和稳定性造成影响,可能会间接影响到ANR和Crash数据统计。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 赞助了问题酬金15元 10月12日
  • 创建了问题 10月12日

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来