unity中 在移動平臺各種讀寫文件夾存路徑整理 如 StreamingAssets 等文件夾 各個路徑在各種平臺的文件路徑

1.Resources 文件夾 少用

//資源卸載
    /*
     *  Resources.UnloadAsset(obj):卸載非 GameObject類型的資源,會將內存中已加載資源及其克隆體卸載。
        Destroy(obj):僅用於卸載GameObject類型的資源的克隆體。
        DestroyImmediately(obj):卸載GameObject類型的資源,會將內存中已加載資源及其克隆體卸載,但該方法只能用在非編輯模式下,否則會報錯提示改爲DestroyImmediately(obj, true),然而編輯模式下使用該函數會連文件夾裏的原始Asset一併刪除。
     */

 2:StreamingAssets 在移動端也是隻可讀的不能寫入數據    主要用來存放二進制文件。

 //安卓下這兩個文件夾路徑相同 
    //Application.streamingAssetsPath = jar:file:///data/app/com.xxx.xxx-1.apk!/assets/  == "jar:file://"+Application.dataPath+"!assets/"
    //Application.dataPath+"!assets/" = /data/app/com.xxx.xxx-1.apk!assets/

    //Ios下
    //Application.dataPath + "/Raw/" == @"file:///" + Application.streamingAssetsPath + "/"

    //Editor WIN 
    //@"file:///" + Application.streamingAssetsPath + "/"
    //"file:///" + Application.dataPath + "/StreamingAssets" + "/"

    private string path = string.Empty;
    public string GetSAPath()
    {
        //安卓平臺 加文件名
#if UNITY_ANDROID && !UNITY_EDITOR
        path =  Application.streamingAssetsPath + "/"
#elif UNITY_IPHONE && !UNITY_EDITOR
        path = @"file:///" + Application.streamingAssetsPath + "/";
#elif UNITY_STANDLONE_WIN||UNITY_EDITOR
       path =  @"file:///" + Application.streamingAssetsPath + "/";
#endif
        return path;
    }

  3:Application.persistentDataPath 這個目錄可讀可寫  一般存本地關卡等

 用於存檔 直接使用 打包之前是沒有這個目錄的,直到應用程序在手機上安裝完畢纔有這個目錄。
 該文件存在手機沙盒中,因爲不能直接存放文件,
     1.通過服務器直接下載保存到該位置,也可以通過Md5碼比對下載更新新的資源
     2.沒有服務器的,只有間接通過文件流的方式從本地讀取並寫入Application.persistentDataPath文件下,然後再通過                  Application.persistentDataPath來讀取操作。
 注:在Pc/Mac電腦 以及Android跟Ipad、ipone都可對文件進行任意操作,另外在IOS上該目錄下的東西可以被iCloud自動備份。        Application.persistentDataPath + "/tempDic", "testXml"                                                    

對應存儲路徑 

Windows應用商店應用程序:application.persistentdatapath指向%userprofile%\appdata\local\packages\<productName>\localstate。
ios:application.persistentdatapath指向/var/mobile/containers/data/application/<guid>/documents。
 android:application.persistentdatapath指向大多數設備上的/storage/emulated/0/android/data/<packagename>/文件(有些舊手機可能指向SD卡上的位置,如果存在),該路徑使用android.content.context.getexternalfilesdir解析


4:Application.temporaryCachePath來操作文件 同上但是     此屬性用於返回一個臨時數據的緩存目錄(不會備份並且清空緩存會清掉)

 untiy 學習討論羣 184386599

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章