手机上的unity路径
转载自:https://www.xuanyusong.com/archives/2656
Application.dataPath路径在PC上无论是Editor还是运行时毫无压力非常万能,但是在手机上完全无用。手机上有两个重要的路径:Application.streamingAssetsPath和Application.persistentDataPath
1.Application.streamAssetsPath
它是一个只读路径,游戏运行中程序只能对它进行读取,并无法写入。在Unity的Assets/目录下起一个叫StreamingAssets的文件夹即可。一般可以把一些预制的二进制文件(比如AssetBundle,mp4等)放在里面,这些文件在打包时不会被压缩(最好只放少量的文件,而且要做好加密工作,不然别人一解压就得到了里面的内容了),因此读取的速度是比较快的。。我个人觉得如果是assetBundle最好不要放在里面,因为用www把本地的assetbundle读取后,会将解压后的资源放在cache里面,但是由于StreamingAssets文件夹是只读文件,所以你没法删除它,那么应用程序就会更加占用空间。举个例子,就好比你在电脑上解压了一个zip文件,那么其实你只需要使用解压后的文件。但是原始用zip如果还保留在文件夹下,那么容量就更大了。同样的assetbundle如果放在cdn上去下载,那么你本地就不会保留这个多余的assetbundle文件,而是把解压后的资源保存在Cache中。
如果你坚持要把assetbundle放在StreamingAssets文件夹下,我觉得一定要做好加密的工作。因为把你的.ipa或.apk下载后都不用破解资源直接可以把你的assetBundle原封不动的取出来。
2.Application.persistentDataPath
它是一个可以读写的路径,在IOS上就是应用程序的沙盒。而在Android可以是程序的沙盒,也可以是sdcard,在打包Android的时候,ProjectSetting页面有一个选项Write Access,可以设置它的路径是沙盒还是sdcard。
如果你在这个路径下写入文件后,IOS上可以通过同步推一类的助手直接取出来写入的文件。在Android上如果你设置保存在沙盒中,那么必须root才能取出文件。不过建议你最好设置写入sdcard里,这样不用root也可以在电脑上访问文件。假设安装的手机没有sdcard,或者sdcard被锁住(有的安卓手机插拔usb会锁一下sdcard),那么它会自动指向你的应用程序沙盒路径。Application.persistentDataPath可以在运行后进行读写,由于有了这个特性,我们可以将需要热更的文件放在里面(当然不能直接放,可以将一些文件放在Application.streamingAssetsPath,在运行后再将Application.streamingAssetsPath里面的文件移动到Application.persistentDataPath下,再进行热更。也可以完全从服务器上下载后存放在Application.persistentDataPath。)
我觉得它的最大缺点就是只能在运行时才能写入或者读取,假设你想在打包前写入一些二进制文件在persistentDataPath里面是不行的。假设你要写android的交互插件,那么.java类中是无法访问unity里面的资源的。但是有一个办法,如下代码,图片放在Resources文件夹下,比如Awake方法中把二进制文件拷贝在persistentDataPath下面,这样c#java两边就都可以访问它了

手机上的unity路径的更多相关文章
- 华为联运游戏审核驳回:在未安装或需更新HMS Core的手机上,提示安装,点击取消后,游戏卡屏(集成的6.1.0.301版本游戏SDK)
问题描述 更新游戏SDK到6.1.0.301版本之后,游戏包被审核驳回:在未安装或需更新华为移动服务版本(HMS Core)的手机上,提示安装华为移动服务(HMS Core),点击取消,游戏卡屏.修改 ...
- 如何实现桌面App图标可以动态显示消息数(类似手机上的QQ图标)?
手机上的APP , 像QQ和微信等都可以在图标上动态显示消息数(最大99) , 那么你有没有想过这些效果是如何实现的?桌面上开发的传统应用程序能否也实现类似的功能? 1 思路 桌面快捷方式的图标本质上 ...
- Unity路径规划
Unity路径规划 转自:http://www.cnblogs.com/zsb517/p/4090629.html 背景 酷跑游戏中涉及到弯道.不规则道路. 找来一些酷跑游戏的案例来看,很多都是只有 ...
- 手机上的ROM与RAM
ROM:read only memory翻译为只读存储器. RAM:read access memory翻译为随机存储器. 下面是一张手机的配置参数表. 简单来说,RAM就是真正意义上的内存,而ROM ...
- 有谁知道什么工具测试IOS手机上APP的性能软件啊?
有谁知道什么工具测试IOS手机上APP的性能软件啊?
- 第一步:卸载手机上的“WIFI万能钥匙”! 会分享自己家的wifi
http://www.znds.com/tv-164866-1-1.html 楼主今日家中WIFI卡的不行,心想,20M的电信光纤没理由这么卡!于是就在网上查找了许多资料,接下来统一收集整理给大家!第 ...
- 远程实时调试手机上的Web页面
1. 安装 需要Node.js平台, 先安装好后, 打开Node.js command prompt, 通过NPM来安装 weinre npm -g install weinre 2. 启动 ...
- Android手机上,利用bat脚本模拟用户操作
………… 那么你就可以来看看这篇帖子了. 言归正传 利用bat脚本模拟用户操作,需要用到两点: ①就是adb命令了,adb命令可以用来模拟用户在手机上的操作 ②bat语言,就是批处理语言,主要用来进行 ...
- 如何制作一个手机上的Github图床捷径(workflow)
准备工作 github账号与绑定邮箱 建立一个仓库用于存放图片 生成github token 注意生成之后要备份以免后面要用到(页面刷新之后会看不见) 了解github上传文件的 GitHub API ...
随机推荐
- lumen 响应宏
响应宏 laravel 中的响应宏,说明文档中有,lumen的没有找到.于是参考laravel 项目中的响应宏写了个Lumen的 1. 新建文件 App\Providers\ResponseMacro ...
- 联盟链IBM的超级账本Hyperledger Fabric框架,JP Morgan’s Quorum
联盟链IBM的超级账本Hyperledger Fabric框架,JP Morgan’s Quorum JP Morgan’s Quorum https://www.coindesk.com/jpmor ...
- 前端小插件之手写js循环滚动特效
很多前端都离不开滚动的特效,调用插件繁琐,后期更改麻烦,考虑到这些因素,自己写了一套无限循环滚动的小特效. 首先滚动特效很好写,用css就可以完成,下面写一个基础css向上循环滚动特效 html &l ...
- I still have a dream!
当聊起梦想时,哥总会说别跟我谈梦想,我已经戒了!现在的我对梦想并不感冒,总是冷眼旁观很多事情,那些经不起时间检验的事和人,总会消散在历史云烟中,若干年后,又有谁还会记得那些遗弃在历史尘埃中,琐碎的芝麻 ...
- 使用vnc远程操控Centos7.6
安装vncserver [root@elegant-snap-3 ~]# yum install tigervnc-server -y Loaded plugins: fastestmirror De ...
- 【MySQL】rds 不支持镜像表/联合表,怎么办?
出于对业务的不了解,往往会让人做出错误的判断 CREATE TABLE `new_tables` ( `customer_id` int(11) NOT NULL AUTO_INCREMENT C ...
- JAVA concurrent包下Semaphore、CountDownLatch等用法
CountDownLatch 跟join的区别 CountDownLatch用处跟join很像,但是CountDownLatch更加灵活,如果子线程有多个阶段a.b.c; 那么我们可以实现在a阶段完成 ...
- 工作必备之正则匹配、grep、sed、awk
常用正则:匹配空行:^\s*\n 匹配www开头:^www 添加行号:awk '$0=""NR". "$0' /etc/yum.conf 1.所有域名前加www ...
- 搜索 - 广度优先搜索(BFS)普通模板
bfs广度优先搜索模板 本人蒟蒻,为响应号召 写下bfs模板一篇 可以适用于求最短步数,等最优解问题.如有不足或者不对的地方请各位大佬及时指出 ^-^ 欢迎来戳 具体实现代码(C++) 各个模块功能和 ...
- 排序算法-快速排序(Java)
package com.rao.sort; import java.util.Arrays; /** * @author Srao * @className QuickSort * @date 201 ...