C# for循环中的字符串连接导致应用程序暂停-Xamarin
我有一个我正在构建的应用程序,在这个特定点上用C#构建一个字符串以返回到我的WebView。简单的连接工作得很完美,但当我在for循环中这样做时,它会暂停。这个循环运行30-40次。我读过的一些东西建议在循环中使用C# for循环中的字符串连接导致应用程序暂停-Xamarin,c#,android,xamarin,webview,C#,Android,Xamarin,Webview,我有一个我正在构建的应用程序,在这个特定点上用C#构建一个字符串以返回到我的WebView。简单的连接工作得很完美,但当我在for循环中这样做时,它会暂停。这个循环运行30-40次。我读过的一些东西建议在循环中使用StringBuilder,但这没有帮助。我的代码如下所示: StringBuilder jsonReturn = new StringBuilder(); jsonReturn.Append("{"); for (int i = 0;
StringBuilder
,但这没有帮助。我的代码如下所示:
StringBuilder jsonReturn = new StringBuilder();
jsonReturn.Append("{");
for (int i = 0; i < apps.Count(); i++)
{
jsonReturn.Append("fooBar");
}
jsonReturn.Append("}");
return jsonReturn.ToString();
StringBuilder jsonReturn=new StringBuilder();
jsonReturn.Append(“{”);
对于(int i=0;i
如果我注释掉for循环中的行,它将完美运行。有什么想法吗
我认为官方的错误是超时
如果是ANR(Android无响应)类型的问题,请将字符串处理从主/UI线程移出,任务。运行
将该工作放置在线程上即可:
StringBuilder jsonReturn = new StringBuilder();
await Task.Run(() =>
{
jsonReturn.Append("{");
for (int i = 0; i < apps.Count(); i++)
{
jsonReturn.Append("fooBar");
}
jsonReturn.Append("}");
});
return jsonReturn.ToString();
StringBuilder jsonReturn=new StringBuilder();
等待任务。运行(()=>
{
jsonReturn.Append(“{”);
对于(int i=0;i
你说的“暂停”具体是什么意思?我想你已经简化了很多代码,因为这根本不是一个有效的jsonstring@Jason它冻结并最终毫无错误地崩溃。@Steve是的,当它不工作时,我简化了代码,试图弄清楚发生了什么。一旦这个问题得到解决,我就可以正确地构建JSON。@Xandor最终崩溃了
?某个地方会有错误,请检查logcat
输出。。。