今開発中のAndroidアプリでXperiaArc、XperiaAcro、MediasWPだけout of memory例外が発生する障害に悩みました。

メモリーの使用量を解析していくと、上記3機種以外の端末では画像を多く使用する画面では25MB程度ネィティブヒープを消費することはあるものの、画面遷移等でガベレージが走れば7MB程度まで低下する。
しかし上記3機種はずっとネィティブヒープを確保したまま解放する様子がない。

Android2.1のころにbitmapをrecycleしたり、ImageViewを明示的にremoveViewしてnull詰めしてガベレージを促さないと落ちることはあったが、Android2.2以降では解消されていたと思っていた。
というか上記3機種以外はout of memory例外にならない。

あのダメ端末の代表選手であったIS04でさえ、先日のOSアップデート以来、非常に安定している。

色々調べていくとそれぞれユーザーから初期不良についての記載があちらこちらで見られ、問題がある端末のようだ。
Mediasは先代も初期不良で泣いていたような気がする。

上記3機種のため、全てのAcitivityで2.1をサポートしていた時と同じように、面倒なメモリ管理をしなくてはならず、何のためにxperia以外の主要端末が2.2以上にアップデートしたのを期に今回から2.1切捨てを決断したのか分からん。


ということで2.2/2.3を対象にした開発でも相変わらず、ImageViewはremoveView、Bitmapは明示的にrecycleを当面続けるしかない様です。

なにわともあれ、このような事はHTCやSumsungやLGの端末ではまずない。
国内メーカー・国内メーカーの関連企業端末のソフトウェアに関する品質の不安定さは本当に酷いと思う。

かくいう自分も5年前まで某大手電気メーカーに2次請けで入っていたので、
正直品質がいいわけがないというのは身を持って分かってはいる。

国内メーカーの電化製品の商用開発は大手の子会社や関連会社に1次請けが流れ、2次・3次と人員をかき集め、工場にあるオフィス棟にぶち込み、超絶デスマーチで1クール刻みで開発させるやり方をとっています。
いわゆるIT土方という奴。

そして実際のコーディングに関わるのは大部分がこの2次・3次の怪しい人員。
当然人も入れ替わるし、技術力が高い人ばかりではない(中には神様みたいな人もいますが)、士気も高いわけではない。
当時の自分もそうだけど業界経験2年目くらいのペーペーが見よう見真似で適当にコードを書いていたりもするのが現実。

ソースコードはいい具合にイタリアの麺料理となっているし、昔のコードが分かる人がいなかったりは日常と・・・まぁやっぱり初期不良がでないわけはないですよねと思う。


精密機器の工作機械や、精密部品とか日本が強い技術分野があるのは事実だから日本の技術力が低いわけじゃないんだけど、ソフトウェアを載せた最終的な製品の品質では、もはや韓国や台湾の方が優れているのは認めざる得ないんじゃないかなと思う。

すくなくても携帯端末ではHTC、Sumsung、LGは本当におすすめ。
というか国内メーカーはよっぽどガラケー機能が必要な人以外は上記3社がお勧め。
端末のデザインもカッコイイシネ。余計なものついてなくて。

最後脱線しましたが、2.2/2.3ターゲットの開発でもXperiaArc・XperiaAcro・MediasWPこいつらはガベレージが怪しいので注意しましょうという話でした。