手机上的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 ...
随机推荐
- HTML Web Workers
Web worker 是运行在后台的 JavaScript,不会影响页面的性能. 什么是 Web Worker? 当在 HTML 页面中执行脚本时,页面是不可响应的,直到脚本已完成. Web work ...
- 移动端调试神器vconsole,手机端网页的调试工具Eruda
移动端调试神器vconsole,手机端网页的调试工具Eruda 移动端中使用 vConsole调试 移动端调试工具vconsole安装Git地址:https://github.com/WechatFE ...
- Python3内建函数sorted
排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的 ...
- qtp安装和使用
QTP许可证密钥的破解步骤: 以前使用QTP9.2 使用此方法成功破解,现在本人使用的HP QuickTest Professional 11 英文版,也成功适用. 一.准备工作: 1. 由于注册码文 ...
- MyDAL - .OpenDebug() 与 Visual Studio 输出窗口 使用
索引: 目录索引 SQL Debug 信息说明 一. 对 XConnection 对象 未开启 OpenDebug, 在 VS 状态下,将默认在 VS 窗口 打印出 参数化的 SQL 执行语句: 新 ...
- logstash 监控日志文件时应对日志文件名改变的原理
开门见山先说结论:基于inode实现. 分析很简单,logstash是用一个filewatch去监视文件的.在logstash目录里搜索filewatch即可找到该目录 logstash/vendor ...
- robotframework-selenium2library各个版本
https://github.com/robotframework/Selenium2Library/downloads
- IE、chrome驱动下载地址
http://selenium-release.storage.googleapis.com/index.html IE驱动https://sites.google.com/a/chromium.or ...
- P1908 逆序对-(树状数组)
https://www.luogu.org/problem/P1908 比较喜欢线段树,懒得用树状数组(只会套模板,位运算的精髓没有领悟到),一直没有记录树状数组代码,又得捡回来,趁这道题记录一下模板 ...
- Java的修饰、继承、接口、抽象类
1.private 修饰属性或者方法,只能在本类中被访问,定义后需要加get()set()方法,这样提高数据的安全性 私有属性虽然不能直接访问,但是其对象 或者 子类对象可以通过公有方法进行设值和获 ...