数据持久化路径Application.persistentDataPath

今天突然想到这个路径Application.persistentDataPath,热更的重要路径,该文件夹可读可写,在移动端唯一一个可读写操作的文件夹。

移动端可以将本地的资源(资源MD5值配置表)等一些文件放到StreamingAssets文件夹下,通过Copy到persistentDataPath下与服务器的版本文件配置表作比对,完成资源的热更。

为什么不在StreamingAsset文件夹下直接操作?因为该文件夹只读,不可写,资源无法更新进去。

为什么不在persistentDataPath文件夹操作,因为该文件夹是apk安装以后,才会形成的一个文件夹,无法提前创建。

本来以为,persistentDataPath文件夹,是每次打开游戏,形成的,里面的数据是只在打开游戏期间临时保存,关闭游戏就会消除,今天做个小测试,原来该文件夹是安装完apk以后形成,里面的数据持久存在。

看一下测试demo:

public Text ShowText;
    public Button WriteBtn, ReadBtn, QuitBBtn;

    private void Start()
    {
        WriteBtn.onClick.AddListener(WriteEvent);
        ReadBtn.onClick.AddListener(ReadEvent);
        QuitBBtn.onClick.AddListener(QuitEvent);
    }

    private void WriteEvent()
    {
        StreamWriter st = File.CreateText(Application.persistentDataPath + "Test.txt");
        st.Write("测试一下");
        st.Close();
    }
    private void ReadEvent()
    {
        ShowText.text = File.ReadAllText(Application.persistentDataPath + "Test.txt");
    }

    private void QuitEvent()
    {
        Application.Quit();
    }

数据持久化路径Application.persistentDataPath_第1张图片

先写入该文件夹一些内容,退出游戏,再次打开,从该文件夹读取,显示出来。

数据持久化路径Application.persistentDataPath_第2张图片

事实证明该文件夹数据一直存在。。。后面再整理一下热更的demo

你可能感兴趣的:(Unity)