問題タブ [bugfender]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
11 に答える
13371 参照

java - Android: ThreadSafeClientConnManager が画像をダウンロードする際のバグ

現在のアプリケーションでは、スペインのさまざまな「イベント プロバイダー」から画像を収集しています。

ただし、salir.com から画像をダウンロードすると、次の logcat 出力が得られます。

そのエラー メッセージを検索しても、あまり有用な結果は得られませんでした。

誰でも問題が何であるか考えていますか?

グラシアス!


更新 1:

もう少し調べて、さまざまなものをテストした後、問題は別の場所にあるように思われることがわかりました。私のlogcat出力は言うが

これは画像の正しい長さ (バイト単位) です。ストリームまたは HTTP 接続に問題があるようです。

私の元のコード (上記) はThreadSafeClientConnManagerを利用しています。それを単純なものに置き換えると、URLConnection完全に機能します:

それで、なぜ私のThreadSafeClientConnManager仕事は他のすべての接続(主に交換)では完璧に(少なくともそう見える)、JSONObjects特定のウェブサイトからの画像ではそうではないのか疑問に思っています(例:salir.com - 他のほとんどのウェブサイトでは動作しますけれど)。不足している HTTP パラメーターはありますか?

私の現在の設定は次のとおりです。


更新 2:

さて、奇妙なことに、実際にはThreadSafeClientConnManager -sometimes-で動作します。画像のダウンロードとデコードを数回連続して試行し続けると、15 ~ 30 回の試行後に機能する可能性があります。非常に奇妙な。

ThreadSafeClientConnManagerの代わりに を使用したいので、解決策があることを願っていURLConnectionます。


更新 3:

以下のMike Mosherが示唆しているように、BufferedHttpEntityを使用することで、デコードエラーは表示されなくなりました。ただし、以前よりも頻度は低くなりましたが、SkImageDecoder::Factory returned nullエラーが発生します。