プロファイリング

ノートパソコンでAndroidのエミュレータ上でBulletMemoを実行すると、初期画面が表示されるまでヒジョーにじれったいです。
なんか遅いんです。

エミュレータでアプリが実行されるステップとして、

①エミュレータにアプリをアップロードする
②エミュレータにアプリをインストールする
③アプリを実行する

が必要(実行ボタンを押したら勝手にやってくれるわけですが)なのです。
このうち、①、②はどうしようもありません。
ファイル転送やらなんやらにどれだけ時間がかかっても、開発者としては手のつけようがない気がします。
利用いただいているユーザーさんにも何の関係もない部分ですし、我慢です。

が、Eclipseのコンソールに「Starting activity」(要するに実行を開始しましたということ)が表示されてから、画面が出るまでも遅いんです・・・
皆さんの端末の上でも遅いのでしょうか。
これはいけません。

と思って、アプリの初期処理をプロファイリングしてみました。
どの処理に時間がかかっているか、メモリをどれぐらい使っているかなどの情報を収集することをプロファイリングといいます。

こちらなどを参考に取得・・・
http://labs.techfirm.co.jp/android/iguchi/2262

201206122205213a4

これは・・・何をしてくれてんねん広告。
いや、広告のせいにばかりしてはいけませんが。
広告を表示するための準備処理がCPU Time上位を軒並み独占です。

広告なんか最初の画面が表示されるときに出ていなくてもいいので、どーんと別スレッドにしました。

201206122207301e0

なんと、初期処理の実行時間が1/3に・・・

早くリリースしたいですが、フォント設定で大はまり中です。