C# for循环中的字符串连接导致应用程序暂停-Xamarin

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;

我有一个我正在构建的应用程序,在这个特定点上用C#构建一个字符串以返回到我的WebView。简单的连接工作得很完美,但当我在for循环中这样做时,它会暂停。这个循环运行30-40次。我读过的一些东西建议在循环中使用
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
输出。。。