まずは「Google Codelabs」から試してみよう?

バージョンやライブラリの依存など環境の違いでわかりづらくなってきているのが StackOverflow.

ある意味公式のGoogleのサイトから眺め始めるのが筋か.

ある程度まとまってきています.

Google Codelabs

Google_Codelabs

Android なら「BY TECHNOLOGY」から「Android」を選択.

Google_Codelabs 2

Google_Codelabs 3

たとえば, テスト関連ならこのへんか.

- Automated Performance Testing Codelab
- Unit and UI Testing in Android Studio
- Android Testing Codelab

Android_Testing_Codelab

Automated_Performance_Testing_Codelab

Unit_and_UI_Testing_in_Android_Studio 2

イベントやカンファレンスなどのサンプルコードをベースに各リファレンス参照しながらお試しできる構成になっておりますね.


【急げ !!】オライリー「RxJava for Android App Development」が無料!!

無料で配布されてます.

RxJava_for_Android_App_Development_-_O_Reilly_Media

RxJava_for_Android_App_Development_-_O_Reilly_Media 2

とりあえず, ebub や PDF すべての形式をダウンロード.

RxJava

RxJava_for_Android_App_Development_and_RxJava

80ページくらいあるし, わーい.

RxJava for Android App Development - O'Reilly Media


見えないところは塗りつぶすな - 不要なオーバードロー削除で高速化

「アプリを作ったけど なぜか表示が遅い」

そのようなレンダリング時間の改善するための方法のひとつとして GPUオーバードローツールを利用しましょう.

「オーバードロー」とは?

アプリがシステムに他の何かの上に描画することを「オーバードロー」といいます.「GPUオーバードロー」ツールを使うとそのピクセルが何回再描画されたか画面上に色をかぶせて表示させることができます.

GPUオーバードローツールを有効化する

以下ので順で有効化します.

1.「設定」
2.「開発者向けオプション」
3.「GPUオーバードローをデバッグ」
4.「オーバードロー領域の表示」

20160221-134639

画面の色が変化したと思います.

20160221-134651

あなたのアプリを開いてレイアウトの改善を行ってみましょう.

Screenshot_2016-02-01-11-08-40

変化した色の違いは何を表しているのか?

画面上のピクセルに対してオーバードローを行った回数を表しています.

オリジナル色
– オーバードローなし
– そのピクセルは一度だけ塗りつぶされた

- 1回 オーバードロー
- そのピクセルは2回塗りつぶされた

...
ピンク
...

...

Debug_GPU_Overdraw_Walkthrough___Android_Developers

どのようにオーバードローを改善するか?

たとえば, RelativeLayout のbackground color を削除して テーマのみにbackground color を描画させる.

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#FFFFFF">

<RelativeLayout
     android:layout_width="match_parent"
     android:layout_height="match_parent">

これにより, オリジナル色と青色のオーバードローが少しに改善させることができました. いくつかのオーバードローは避けることができません.

オーバードローがすべて背景色に関連しているわけではありません. 非常に複雑なレイアウト階層構造の多すぎるビューの中にたくさん存在すると思われます。

オーバードローが発生している理由は, Hierarchy Viewer や GL Tracer などのツールで確認することができます.

Hierarchy_Viewer_Walkthrough___Android_Developers

Hierarchy Viewer Walkthrough | Android Developers

Tracer for OpenGL ES | Android Developers

まずは, 最大で2回のオーバードロー(緑)を目指してみましょう.

Debug_GPU_Overdraw_Walkthrough___Android_Developers 2

Optimizing Layouts in Android - Reducing Overdraw - Riggaroo

Debug GPU Overdraw Walkthrough | Android Developers