タグ

ブックマーク / qiita.com/tomoima525 (4)

  • RecyclerViewに導入されたItemPrefetchで描画パフォーマンス向上させる - Qiita

    support-library の25.0.0以降よりRecyclerViewのレンダリングパフォーマンスを向上させるItemPrefetchという機能が追加されています。 ItemPrefetchとは RecyclerViewでは、以下のような処理が行われています。 UIThreadからViewのinflationおよびbind/Animation等処理 ↓ GPUのRenderThreadで描画 GPUのRenderThreadに渡っている間, UIThread はidle状態に入ります。 ここで問題となるのは、スクロールして新規にViewをinflateが必要な場合に、UIThreadでその処理が行われることによって描画遅延の原因となることです。 25.0.0より、ItemPrefetchが有効になることによって、次のViewのinflationが必要かどうかを判断し、 必要な場合は

    RecyclerViewに導入されたItemPrefetchで描画パフォーマンス向上させる - Qiita
    gfx
    gfx 2016/11/17
  • Androidの新しいLayout、ConstraintLayoutことはじめ - Qiita

    Android Studio 2.2 previewより、ConstraintLayoutという新しいLayoutが導入されました。稿では実際に触ってみた操作感や実装方法などについて紹介します。 ConstraintLayoutとは ConstraintLayoutは自動的にレイアウトの位置をマテリアルデザインに沿った最適な位置に調整してくれます。iOSでいうところのStoryboardのAutoLayoutのような機能をもったレイアウトです。 具体的な特徴として AutoConnectという機能を使って最適なレイアウトを調整できる Android Studioが自動的に一番フラットなxmlを生成してくれる Inferenceという機能で全体の整合性も調整できる API 9 までのバックポート対応 同梱ライブラリではなく、導入してもサイズが小さい (100kb) ということが挙げられます

    Androidの新しいLayout、ConstraintLayoutことはじめ - Qiita
    gfx
    gfx 2016/05/20
    AndriodにもAutoLayoutが…。これは嬉しいのかな…?
  • 気をつけたいGradleの推移的依存関係とその解決 - Qiita

    Gradleはライブラリの依存関係を上手に管理してくれるすぐれものですが、まれに突拍子もない不具合が発生する場合があります。しばらく前にGradleの推移的依存関係でハマったことがあったので、その具体的現象と原因、解決方法についてまとめておきました。 推移的依存関係とは? Gradleのドキュメント読んでも、ほへー、位の感想なんで、こちらのサイトがわかりやすかったです。端的に言うと、複数のライブラリがあるライブラリ(A)に依存している場合、Aはバージョンが一番最新のものが適用されるということです。 なお推移的(transtive)とは言葉として??って感じでしたが、数学用語なんですね。wikipediaで説明を読むとなるほどなーという感じです。 具体的な事象 ある時、Pureeのバージョンアップ(3.3.0 -> 4.1.0)したところ、releaseのみビルドがfailしました。理由はP

    気をつけたいGradleの推移的依存関係とその解決 - Qiita
    gfx
    gfx 2016/03/02
  • Androidにおけるenum利用に関するGoogleの公式見解と考察 - Qiita

    Androidにおけるenum利用について度々話題に登る今日このごろですが、そんな中GoogleがYoutubeでenumのパフォーマンスに関する動画を公開しました。動画はこちら です。 Androidにおけるenumのパフォーマンス問題についてあまり詳しくなかったので、動画を観てみました。 Googleはenumの何がパフォーマンスとして問題としているのか Android OSはアプリケーションを実行する時に、Application Heap領域を確保します。このメモリ内にアプリの実行に関わるdex(Dalvik Executable) fileがロードされ、適宜実行されるわけです。 例えば2556bytesのdex fileがロードされるソースコードがあるとします。 これに対し3つのstaticなintを生成すると、2680bytes(+124bytes)に増加します。 public

    Androidにおけるenum利用に関するGoogleの公式見解と考察 - Qiita
    gfx
    gfx 2016/02/24
  • 1