我想使用WWW类下载一个简单的json。我的问题是,在android设备中,它需要3到4秒才能完成任务,但是在编辑器中,它需要毫秒才能完成…
我做错了什么?
这是我的代码:
string url = "SomeURL/app.Json";
WWW www = new WWW (url);
www.threadPriority = ThreadPriority.High;
DebugText.text = "get json started";
yield return www;
DebugText.text = "Json Downloaded";
PS1:我为两个设备使用了相同的网络。
PS2:Json文件小于1 KB。
没有设置可以加快速度WWW
。如果速度较慢,则说明它要么在移动设备上实施不佳,要么设备又旧又慢。请注意,您的计算机大多数时候都比移动设备快,因此这可能是您认为很慢的原因。
替代方案 :
1 现在,让我们假设这WWW
是问题所在。有一个应该替换的新Unity API
WWW
。那就是UnityWebRequest
API。
真的很容易使用:
IEnumerator makeReuest()
{
UnityWebRequest www = UnityWebRequest.Get("YourURL");
yield return www.Send();
string text = www.downloadHandler.text;
}
2。使用
C#WebRequest
发出请求。将proxy变量设置null
为,以加快请求速度。您必须在另一个应用程序中使用它,Thread
或者使用其异步功能发出请求,否则,您将冻结游戏直到请求完成。
UnityThread
从这里开始抓取,因为本示例将使用Unity
ThreadPool
,UnityThread
如果您想使用Unity
API(例如Text
来自另一个组件的组件),则需要使用Thread
。
void Awake()
{
//UnityThread.initUnityThread();
downloadData();
}
void downloadData()
{
ThreadPool.QueueUserWorkItem(new WaitCallback(makeRequest));
}
private void makeRequest(object a)
{
string url = "";
string result = "";
var request = (HttpWebRequest)WebRequest.Create(url);
//Speed up
request.Proxy = null;
using (var response = (HttpWebResponse)request.GetResponse())
{
var encoding = Encoding.GetEncoding(response.CharacterSet);
using (var responseStream = response.GetResponseStream())
using (var reader = new StreamReader(responseStream, encoding))
result = reader.ReadToEnd();
}
UnityThread.executeInUpdate(() =>
{
//Use in Unity Thread
yourTextComponent.text = result;
});
}
希望其中之一可以加快您的请求。如果那没有发生,那就是您设备的限制。
本文向大家介绍非常实用的Android图片工具类,包括了非常实用的Android图片工具类的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android图片工具类的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
我已经更新了Android Studio的最新版本(今天是2017年4月22日)并安装了Haxm,但Android模拟器完全没有用。它非常慢。 我不知道为什么,几天前它运行得又快又平稳。然后我重新启动了我的电脑,它变得非常慢。这一定是有原因的。 请不要回答安装Genymotion。Genymotion不允许我在免费版本中模拟手机。 正如我所说,安装了intel haxm。 “流程系统未响应”消息一
而且大多数时候,我的cpu使用率大约是10%!(其实是闲置的!)因为以前gradle工作的时候几乎所有的时间都是100%
我是Android Studio的新手。。每当我运行我的项目时,gradle构建大约需要14分钟。。我已经检查了这里提到的提高构建速度的解决方案 我的格拉德尔。属性文件: 但问题仍然是一样的,每一行的颜色都很暗,就像它们是注释行代码一样。当鼠标悬停在顶部时,会出现一条消息,上面写着“未使用的属性。此检查报告所有未从属性文件外部引用的属性” 我怎样才能解决这个问题?谢谢
问题内容: 我正在查询有关的信息。 我正在迭代一个数组,并查询列表中的每个值。 不幸的是 ,在调试器下, 单个查询大约需要3-4秒,而 在禁用调试器的情况下, 查询时间要 短一些。 任何想法为什么这么慢?我使用进行测试。 这是我的代码: 更新资料 当我离开时,评估很快就完成了,但是我没有得到。它返回一个空字符串… 问题答案: 感谢@nvrmnd我尝试了一下,发现了一种更好的解析器: VTD-XML
我搜索了数据库和食谱,但似乎找不到正确的答案。我有一个非常简单的python代码,它总结了一个范围内的自我权力。我需要这个非常非常大的数字的最后十位,我已经尝试了get上下文(). prec,但是我仍然达到了极限。 代码如下: 我怎么能看到这些美丽的数字?它在我的四核上打印速度相对较快。这只是为了给ProjectEuler带来乐趣,问题#48,请不要破坏者。我不想要解决方案,也不想让工作为我完成,