Support Library rev.22.1のリリースがアナウンスされました。
マイナーバージョンアップですが、いくつかの特筆すべき変更があります。
Support V4
DrawableCompatが導入され、様々なDrawableの機能を API Level 4 までサポートします。DrawableCompat#wrap(Drawable)を用いてDrawableをラップすることによって、Tinting のサポートが**Drawableリソースの分離をしなくても**可能になります。
また、Paletteの一部内部機能をColorUtilsから利用可能になります。Lollipop で導入された各種アニメーションのInterpolatorもこのリリースで含まれるようになりました。
Spaceはこのリリースで、GridLayoutライブラリから Support V4 ライブラリに移動となりました。
AppCompat(Support V7)
ActionBarActivityが deprecated になり、新しくAppCompatActivityが導入されます。
これは、AppCompatDialogというダイアログ向けの互換クラスが導入されたためです。AppCompatDialogによって、マテリアルデザインをDialogに適用できます。
また、内部機能(ライフサイクルコールバックやテーマ、Color tinting 等)をAppCompatDelegateによってコントロールすることが可能となります。このAppCompatはどのActivityでも内包可能です。
各種の View の Tint を自動で行うよう、AppCompatButton や AppCompatTextView などの専用クラスが導入されました。これらはレイアウト XML に記述する事ができ、inflate 時に自動で tint が行われます。
ToolBarについては、android:themeをレイアウトで指定可能となります。この他の View については、API Level 11+ 以降で同様に指定できるようになります。
Leanback
Leanback では、Android TV における各種のベストプラクティスを取り扱っています。サンプルが更新され、左側にガイド、右側にアクションの一覧が表示されるようになっています。それぞれテーマをカスタマイズでき、GuidanceStylistやGuidedActionsStylistを用いて更に拡張が可能です。
この他、バグフィクスやパフォーマンス改善も含まれます。
RecyclerView
バグフィクスのほか、SortedListというデータ構造が導入されました。これによって、ソート済リストの取り扱いが簡単になり、コレクションの変更に応じたイベントハンドリング(dataset change)も容易になります。また、SortedListはデータセットの変更をバッチ処理することができ、同時にたくさんの変更があっても一回の操作でそれを反映することが出来るようになっています。
Palette
このリリースで、品質の劣化なしに 6~8 倍の高速化がされました。
Paletteのインスタンス生成にBuilderを用いるようになりました。Palette#from(Bitmap)でBuilderを得て、オプションを指定してからgenerateまたはgenerateAsyncするようにできます。
RenderScript
このリリースでは信頼性とパフォーマンスが向上しており、最も高速で信頼性のある実装を選択するようになっています。ScriptIntrinsicHistogramとScriptIntrinsicResizeが新たに導入されました。