【问题标题】:okhttp and facebook crashedokhttp 和 facebook 崩溃了
【发布时间】:2014-03-19 07:56:20
【问题描述】:

我正在使用毕加索框架来显示图像。我使用 facebook 和 dropbox 作为社交网络来下载图像。

如果我点击 Dropbox 并显示图像,并且在显示图像中我点击 facebook,它会因单个 logcat 问题而崩溃 致命信号 11 (sigsegv) 在 0x00000000 (code=1),线程 15224 (asynctask #1)

我已阅读并得出结论 1.没有内存不足。 2.一些这导致使用一些不可用的空间

关于 okHTTP 的搜索 它在 Trasport 层的安全套接字中命中服务。如果同时有人在此套接字之外使用 trasport 层,则会因致命信号 11 see link here 而崩溃。

我的应用程序使用图像,我想使用 Piccaso。因为 UIL 通过 OOM 如此之多

任何帮助解决

要解决的问题:OKhttp 或 picasso 与 facebook 或 dropboxapi

谢谢。

【问题讨论】:

标签: android picasso okhttp


【解决方案1】:

通过以下官方解决方法,我能够解决 Facebook 交互崩溃的问题:

URL.setURLStreamHandlerFactory(new OkHttpClient());

【讨论】:

    【解决方案2】:

    这很可能是由于在 this okhttp github issue 上探讨的 SSL 上下文问题。

    修复非常简单(从问题中复制/粘贴):

      OkHttpClient okHttpClient = new OkHttpClient();
      SSLContext sslContext;
      try {
        sslContext = SSLContext.getInstance("TLS");
        sslContext.init(null, null, null);
      } catch (GeneralSecurityException e) {
        throw new AssertionError(); // The system has no TLS. Just give up.
      }
      okHttpClient.setSslSocketFactory(sslContext.getSocketFactory());
    

    【讨论】:

    • 还可以尝试将其添加到末尾:URL.setURLStreamHandlerFactory(okHttpClient); 在我的情况下,这个修复了 Facebook Audience Network SDK + Cordova 给 SSL_select_next_proto 段错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 2013-05-13
    • 2012-08-29
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    相关资源
    最近更新 更多