私は Google Play で 20,000 回以上ダウンロードされ、評価が 4,6+ のアプリを持っています。過去数か月で多数のデバイスが ICS アップグレードを取得したため、いくつかの (それほど多くはありませんが) 奇妙なエラーが表示され始めました。考えられるすべての NullPointers などをカバーしたため、これらは強制終了ではありませんが、たとえば、間違った/機能しないネットワーク関連のものです。
まず第一に、ここに私のアプリのネットワーキング部分があります:
HttpClient hc = new DefaultHttpClient(); //init the HttpClient
hc.getParams().setParameter("http.protocol.content-charset", "UTF-8"); //set the encoding to UTF-8
HttpParams hp = hc.getParams(); //get HttpParams
HttpConnectionParams.setConnectionTimeout(hp, TIMEOUT); //set the timeout
HttpConnectionParams.setSoTimeout(hp, TIMEOUT); //set the timeout
HttpProtocolParams.setUserAgent(hp, ActMain.userAgent); //set the user agent
HttpResponse resp = hc.execute(new HttpGet(item.buildQuery())); //execute the query
Stat.result=EntityUtils.toString(resp.getEntity(), HTTP.UTF_8); //save the result
これは、Gingerbread デバイスで問題なく動作しています。Gingerbread デバイスから届いたエラー レポートは 1 つも (私が知る限り) ありません。ただし、クエリの結果が空であるなど、一部のレポートが ICS デバイスから届きました。アプリは、指定されたオプションに対してそのような結果はないと言います。繰り返しますが、実際の強制終了や実際のレポートがないため、指定したコードがエラーの原因であるかどうかはわかりません。問題の原因がジンジャーブレッドと ICS の関係であるかどうかもわかりません。大雑把な推測ですが、レポートから発見できた共通点は ICS だけでした。
私の本当の質問は次のようなものです: ICS が上記のエラーを引き起こすことはありますか? 私は標準的なApache httpのことを使用しているので、考えるべきではありませんが、試してみる価値はあります。
フィードバックをお寄せいただきありがとうございます。