unity安卓和IOS读写目录

时间:2023-03-08 16:29:47

StreamingAssets文件夹下的只读不可写路径:

  安卓读:filePath = Application.streamingAssetsPath + "/文件名.格式名";

  IOS读:filePath = "file://" +  Application.dataPath + "/Raw" + "/文件名.格式名";

  PC读:filePath = "file://" + Application.streamingAssetsPath + "/文件名.格式名";/

StreamingAssets文件夹下的可读可写路径:

  安卓: path = Application.persistentDataPath + "/文件名.格式名";

  IOS: path =  Application.persistentDataPath + "/文件名.格式名";

  PC: path = "file://" + Application.persistentDataPath + "/文件名.格式名";//

  另外,这两个目录只能在主线程下去调用。

  如果在异步下载里用到该目录,当用消息者模式进行回发的时候,执行的回调并不在主线程里,如果需要对应操作GameObject,则会出现报错行为,如果要做异步下载,请在非mono类里面增加Queue<T>的队列管理,并将回发事件写入队列,由mono的Update对队列进行监听。

  这样每次下载完成,下载的异步线程就会把消息写入Queue的队列,此时Update一直在监听队列的数量,当数量大于0的时候,每一次update都会对队列进行一次Dequeue(),每一次Dequeue的时候,都会从主线程发送一条消息去执行,消息的回调当调到  GameObejct的时候也不会出现报错。

  下一篇预告:Unity使用Http进行同步和异步下载。