過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2011/01/28
Android エミュで画面を回転 Ctrl + F12

 
Android 実機を初めて触った。
 
そしてよく 回転する 事実を知った。回転はエミュレーター上で全く検証して
おらず、回転させると画面表示がなくなる。
 
エミュレーター上で回転させるには Ctrl + F12
 
 
調べてみると OnDestroy() 毎回呼ばれる
 
SurfaceDestroy() や OnPause() / onStop() は色んなタイミングで呼ばれる事は
確認取れてたので、いつでも再開できる設計にしてたのだが…
 
アクティビティの終了を示す OnDestory() がこれ程頻繁に呼ばれるとは
思わなかった。
 
どうしようか。
 
 
onDestory() 呼ばれても静的変数( static )は有効なのですが、
動的変数( dynamic )は破棄される。
 
画面回転するたびに、VirtualMachine を再起動する設計は嫌過ぎる。
 
 
GUI コンポーネントは onSaveInstanceState() / onRestoreInstanceState() で
いけるみたいだが、SurfaceView も同じ?
 
Parcelable 自体は Java のシリアライズみたいなもので、大きな違いは永続化が
目的ではないとか。
 
 
対策を施さないと… static の SurfaceView の場合、getHolder() で再取得した
オブジェクトに lockCanvas() を行うと NULL が返る。
 
それもそのハズ。surfaceCreated() が呼ばれない…調べるか。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。