DefaultHttpClient オブジェクトの Thread 競合
ある Activity は複数の Layout を持ってて、ある Layout を使うときは Handler#postDelayed を使って通信な Thread を kick して画面再描画みたいな微妙な実装を云々してて発生。よく考えりゃ別なオブジェクト使えばいいんだよね、ということに今更気づいてたりするんですが、その時はそこまで考えが至らず、ログの文言とかでググッてみるに、以下なコンテンツに辿りつきました。
おそらく ThreadSafe な形になるのだろうと思い、以下を盛り込んで動作確認してみると行儀良く動いていらっしゃるご様子。最近は Android も枯れてきたのか、有益な情報がきちんとインターネットにあって素晴しいですね。
ぼくも以下なカンジでオブジェクトを生成して云々してます。
HttpParams params = new BasicHttpParams(); SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry); mHttpClient = new DefaultHttpClient(ccm, params);
実は接続先とはベーシック認証で云々してて、別オブジェクトは面倒だったのです (を