表示するアプリなんですが、ユーザーから送られてくるクラッシュレポートをみてると
機種によって障害がでている模様。
レポートをみると、
NetworkOnMainThreadExceptionがでているようだ。
こちらでもがちゃがちゃテストしてみると・・・・でない・・・でない
・・・・あ、たしかに出た。
??けど以前テストしたのになー、
しかも毎回でないし、とか思いながら
ちょっとググって見ると
711fumiさんという方のブログにもろその記事が。
そこから派生するリンクをごそごそ追ってみて理解しました。
なるほど、「NetworkOnMainThreadException」という名のとおり
メインスレッドからネットワーク処理を行うことを許していないということで
なるほどたしかに、ダメだった機種は持ってる中で唯一新型のNexsus7。
しかも現象がわかりにくくしてたのが
高速化するために2画面目の各詳細情報を、
1画面目の裏で上から順に非同期に取得していて
①リストが選択された際、キャッシュした情報あればそれを表示。
(故に画面遷移は高速)
②なければ、そのページのみ先に、DefaultHttpClientでデータとりに行く
(故に画面遷移は低速)
ようにしていたアプリの構造。
操作に間に合わなくて②のケースになった場合、Exceptionがでていたみたいで
Nexsus7は、他マシンより高性能なのであまり処理に時間がかからず
②のケースになることが少なく、普通に触ってる分にはエラーに気づかなかったと
そういうことらしい。
とにかく、メインスレッドからネットワーク処理を行うことでおこられてるので
調べてみたら、他のアプリも同様の動きをさせると皆落ちました!
もー、バージョンアップでこういう修正は、ほんまやめて欲しいわー。
0 件のコメント :
コメントを投稿