読者です 読者をやめる 読者になる 読者になる

Live壁紙のプレビュー時と、通常時方向切替えの挙動の違い

完全に需要の無いネタっぽいのですが、

AndroidのLive壁紙のプレビュー時

(一覧から選ぶ、「壁紙に設定」ボタンが出ている状態)に方向を切替えたときと、

普通に動いている時に方向を変えた時とでは挙動が違うので注意が必要でした。

具体的には、プレビュー時に方向を切替えた場合、

onVisiblityChangd→onSurfaceDestroyed→onDestroyの通知の後に、

方向切り替えの通知

(例えば、

mContext.registerReceiver(mBroadcastReceiver,new IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED), null, null);

のような形でmBroadcastReceiverに登録していて受け取れる物)が来てその後、

再度onCreate→onCreateEngine・・と一連の作成が行なわれます。

(一回一回、アプリが立ち上げ直しと言うことになっているようです)

なので、方向切り替えの通知の所で画像を入れ替えたりしていると、

onDestroyの後にそれが来てしまうので、

それをクリアすることが出来なく、再度初期化の流れに入ってしまうので、

メモリリーク等が起こる可能性が出てきます。

(本来であれば、onDestroyの前に方向切り替えが入ってきて欲しいところですが・・しょうがないですよね。)