BT

新しい あなたは、アーリーアダプター?それともイノベーター?そんな皆様に、InfoQの新機能をご案内しています。詳細はこちら

Androidアプリのパフォーマンス改善

| 作者: Sergio De Simone フォローする 4 人のフォロワー , 翻訳者 笹井 崇司  人のフォロワー 投稿日 2015年6月24日. 推定読書時間: 1分未満 |

原文(投稿日:2015/06/17)へのリンク

モバイルアプリにとってパフォーマンスは重要だ。GoogleはAndroidアプリのパフォーマンスを改善するためのトレーニング教材を多数提供している。

パフォーマンスに対する総合的アプローチには、次のようなところへの徹底的な取り組みを伴う。

この教材をすべて学習するのは、かなり大変だろう。そこで、Android開発に関する本を何冊か書いているShane Conder氏とLauren Darcey氏は、そこに含まれている秘訣をいくつかまとめている

  • きちんとしたコーディングプラクティスを使うこと
  • ブロッキング操作にメインスレッドを使わないこと
  • レイアウトをシンプルに、エレガントに保つこと
  • リソースをデバイスに合わせること
  • Trace Viewなどのプロファイリングツールを使うこと

これらはアプリを開発する前に役に立つだろう。では、もうほとんどアプリは出来上がっていて、そのパフォーマンスに満足できないときはどうだろう? TutsplusのJessica Thornsby氏は、簡単に調べられる3つの領域について述べている

  • オーバードロー: これはGPUが背景とその上のグラフィック要素を描画するたびに発生する。オーバードローが多すぎると、アプリのパフォーマンスを殺すことになる。Androidは、ドローの発生回数を色分けすることでオーバードローの領域をハイライトする「GPUオーバーロードをデバッグ」モードをサポートしている。これによって、修正すべきレイアウト領域がどこにあるか、手がかりが得られるだろう。

  • レンダリングパイプライン: UIをレンダリングするのにかかる時間は、階層構造にあるビューの数に比例する。Android SDK Hierarchy Viewerは、ビュー階層を調べて、それを平らにする方法を見つけるのに役立つだろう。これはまた、各ビューをレンダリングするのにかかる時間に関するプロファイル情報も提供する。

  • メモリリーク: ガベージコレクションしているにもかかわらず、Androidはメモリリークから免れない。Android Studioに組み込まれているMemory Monitorを使うと、アプリがどれだけメモリを使っているかチェックできる。他にも、メモリリークに役立つ別のツールにAndroid Device MonitorのHeapタブがある。これは、どのオブジェクトが実際にデバイスのメモリを取っているか、さらに詳細な情報を提供する。

最後に、Jeannie Liou氏によると、アプリのUIを簡素化することも、重要なパフォーマンスの秘訣だと考えている。彼はビューを整理するのに、LinearLayoutの代わりにRelativeLayoutを使うメリットについて述べている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT