今度こそ,快適なandroidの爆速エミュレーターを手に入れる

f:id:kazy1991:20130206021138j:plain

この記事は [dup] Androidの超速エミュレータを導入する - Qiita [キータ] を参考にさせていただきました.

導入について

上記の記事を参考にしてください.

私の環境はOS XLion なのですがカーネルモジュールはrelease_1.0.4-hotfixの方で上手くいきました.

いざ,起動!!!!!!!!!

すべての導入を終え,期待に胸を踊らせつつエミュレーターを起動 ,
「あれっ... あんまり速くない(´・ω・`)」
2011 Air のじゃこんなもんかなーって諦めてたんですが,ちょっと設定いじったら爆速になりました. (ついでに快適に使える設定も)

爆速の設定

(因果関係の有無については検証していません)
1. android Virtual Device Managerを開きます.
2. エミュレータを選択してEdit ... Hardwareを以下のように設定します.(スペルミスってますね..)

f:id:kazy1991:20130206022750p:plain

  • GPU emulation :yes -> GPUエミュレーションを有効にします.
  • Keyboard support : yes -> コンピュータのキーボードで入力できるようになります.

ちなみに画面の回転は Control + Fn + F11(音量down) で出来ます.
また,GPU emulationについては速度にかかわらず,常にonを推奨します.

おまけ

GPU emulation は有効にしたほうがいい理由

androidは4.0(3.0かも..)から,GPUアクセラレーションによるUIのレンダリングに対応しています,それに伴いGPUが有効でないと描画が上手く行われないケースがあります.

これは私も陥ったのですが,例えば,TextureView(4.0以降対応のSurfaceViewの上位版みたいなview)を継承したViewではレンダリングが可能になると,

    @Override
    public void onSurfaceTextureAvailable(SurfaceTexture surface, int width,
            int height) {
        //描画用スレッドを開始する
        thread=new Thread(this);
        thread.start();

}

onSurfaceTextureAvailableが発火し,描画用のスレッドが動くように書くことがあると思います,しかしGPUが有効でないといつまで経ってもこのメソッドが発火しないので黒画面のままという現象が起こります.
なので 4.0以降の開発の際にはエミュレータGPUは有効にしておいたほうがいいと思います.

ハードウェアアクセラレーションについてはこちら(公式)