Unity3D iOS 平台放弃 WWW 采用 UnityWebRequest
来源:互联网 发布:鲁迅 两棵枣树 知乎 编辑:程序博客网 时间:2024/05/21 13:56
使用的是 Unity 5.3.4, WWW 再 iOS 上加载资源出现卡死的问题:加载到一定程度卡死,重启APP后又可以跑过去,有些机型上甚至出现下载资源过不去的情况。解决方案,使用 UnityWebRequest 代替 WWW。当然 UnityWebRequest 次版本的 Dispose 有问题,更新到最新版就没问题了。
UnityWebRequest 架构
UnityWebRequest 由三个元素组成。
◾UploadHandler 处理数据 将数据发送到服务器 的对象
◾DownloadHandler 从服务器接收数据 的对象
◾UnityWebRequest 负责 HTTP 通信流量控制来管理上面两个对象的对象。
来说明这些对象之间的关系,如下所示。
基本用法
比较UnityWebRequest 和 WWW 类的基本用法。
GET
www 通过 url 的写法:
using UnityEngine; using System.Collections; class MyBehaviour : public MonoBehaviour { void Start() { StartCoroutine(GetText()); } IEnumerator GetText() { WWW request = new WWW("http://example.com"); yield return request; if (! string .IsNullOrEmpty(request.error)) { Debug.Log(request.error) } else { // if (request.responseHeaders.ContainsKey("STATUS") && request.responseHeaders["STATUS"] == 200) { // string text = request.text; // byte [] results = request.bytes; } } } }
UnityWebRequest的书写方式
using UnityEngine; using System.Collections; using UnityEngine.Experimental.Networking; // // using UnityEngine.Networking; class MyBehaviour : public MonoBehaviour { void Start() { StartCoroutine(GetText()); } IEnumerator GetText() { UnityWebRequest request = UnityWebRequest.Get("http://example.com"); // // UnityWebRequest request = new UnityWebRequest("http://example.com"); // // request.method = UnityWebRequest.kHttpVerbGET; // yield return request.Send(); // if (request.isError) { Debug.Log(request.error); } else { if (request.responseCode == 200) { // string text = request.downloadHandler.text; // byte [] results = request.downloadHandler.data; } } } }
0 0
- Unity3D iOS 平台放弃 WWW 采用 UnityWebRequest
- Unity3d 要放弃WWW,看看新的网络请求方式UnityWebRequest
- Unity3d 发布IOS平台
- unity3d ios平台优化图形性能
- unity3d ios平台优化图形性能
- Unity3D开发 - Unity3d与iOS交互开发(接入平台SDK)
- Unity3d跨平台原理 转自 http://www.cnblogs.com/wonderKK/p/4095632.html
- unity3d WWW加载资源
- Unity3D,WWW下载声音
- Restsharp 与 unity3D WWW
- Unity3D 封装WWW
- 几个关于Unity3d转ios平台的指导博文
- Unity3D引擎IOS平台卡帧解决小技巧
- Unity3d的IOS平台打包的品质控制
- Unity3d 导出ios、android等移动平台阴影效果步骤
- Unity3d本地上传并且裁剪图片-----iOS平台
- unity3d www下载资源包
- Unity3D的WWW类使用
- PHP 二分法查找
- 编译原理语法分析
- linux 中shell脚本 $0,$?,$! 等变量的含义
- LINUX设备模型简述
- vim的宏的使用
- Unity3D iOS 平台放弃 WWW 采用 UnityWebRequest
- 11 个重要的数据库设计规则
- 粒子群优化算法(一):算法性能测试函数
- discuz伪静态设置方法
- Redis实现Restful的访问权限控制(二)
- 4.3、字符串
- [译]Java定时任务调度-Quartz文档(十一)Advanced (Enterprise) Features
- BZOJ 3958: [WF2011]Mummy Madness
- ssh反向代理功能