ラベル

技術 (81) 開発 (78) ゲーム (67) アプリ (63) 福岡 (59) 趣味 (59) android (53) アニメ (22) レトロゲーム (21) 温故知新 (21) ガンダム (19) レポート (19) WEBサイト (17) 経済 (17) iOS (9) 麻雀 (7) グルメ (5) マンガ (4) Wear (1)

2014年3月28日金曜日

onCreateOptionsMenuのタイミングが変わる?

Shunです。

最近ハマった問題。

とあるandroidプロジェクト。
androidのバージョンで挙動が変わる現象。
具体的にはandroid4.0.x系とandroid4.2.x系で同じプログラムなのに動きが違う。

ログを打ち込んで処理の流れを追うと
バージョンでonCreateOptionsMenuがコールされるタイミングが変わっていました。

そのプログラムはActionBarとfragmentを使ったプログラムでした。
onCreateOptionsMenuでいろいろ初期化処理をしていました。
初期化処理の順番が変わってしまったのでもう大変、ヌルポしまくりです。

これは呼ばれるタイミングがはっきりしないメソッドで
初期化処理を行うという元の設計思想がわるい、と考えてるべきなのか。
それともandroidはバージョンの違いでこういうことが多々あるので
対応・確認したバージョンを明記しておくべきなのか。

注意したいところです。