gpt4 book ai didi

android - HoneyComb 和 DefaultHttpClient

转载 作者:可可西里 更新时间:2023-11-01 19:09:17 25 4
gpt4 key购买 nike

在我的代码中有这个

        Log.d("WFlog (executeRequest)", request.toString()) ;
httpResponse = client.execute(request);
Log.d("WFlog (execute)", request.toString()) ;

使用 Android 2.2 运行该应用程序运行良好,在 logcat 中我看到了两条日志行。

现在使用 HonyComb 为同一段代码运行应用程序,似乎我从未正确通过 client.execute。我得到的最后一行日志是“WFlog (executeRequest)”。

在此之后我看到以下内容:

01-27 21:54:45.169: WARN/System.err(390): android.os.NetworkOnMainThreadException
01-27 21:54:45.196: WARN/System.err(390): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1069)
01-27 21:54:45.196: WARN/System.err(390): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368)
01-27 21:54:45.205: WARN/System.err(390): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208)
01-27 21:54:45.215: WARN/System.err(390): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431)
01-27 21:54:45.237: WARN/System.err(390): at java.net.Socket.connect(Socket.java:901)

知道我应该寻找什么吗?

最佳答案

新政策允许应用程序和操作系统开发人员为在特定线程上执行的代码设置性能预期。您已尝试在应用程序的 ui 线程上调用阻塞网络 api。 Google 已经建立了一个系统,让您知道这是一个坏主意,您可以通过在单独的线程或 asyncTask 中执行您的请求来解决这个问题。

请阅读this博客文章。您可以在 SO 和 Google 上找到有关执行异步/多线程应用程序的信息。

关于android - HoneyComb 和 DefaultHttpClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4821845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com