2016-10-13 7 views
0

は私はアンドロイドでカラーフィルターオプションでアイコンの色を変えることが、私はより速く、より良いである1思ったんだけどitems.And?どちらが高速なカラーフィルタリングですか、アンドロイドで異なるドロアブルを使用していますか?私はrecyclerview行上のアイコンを使用してい

  • 白描画可能なアイコン上に異なる色のドローアブル
  • (実行時)、カラーフィルター

私はすでに白描画可能にカラーフィルタを使用しますが、それは時々リフレッシュrecyclerviewまでリストの列に表示されません。だから私はちょうど別のdrawablesを使用することを考えています。 は

答えて

2

言い難い...ご関心をお寄せいただきありがとうございます、私は描画可能の変更が高速であることを言うだろう、と私はこれだと思う理由です:フィルタリングするために

  • をイメージはRAMから各ピクセルを読み込み、各ピクセルの輝度に+3を加えるほど簡単ではない)、各ピクセルを書き込むために各RGBコンポーネントを変換してから各ピクセルを書き込む必要があります。

  • 描画可能とは、フラッシュメモリから読み込み、RAMにロードすることを意味します。

事は、モバイルデバイス上のフラッシュストレージはかなり速いので、私はそれが色合いの画像よりもロードするために高速です考慮するあまりにもこれらの日であるということです。

それはあなたがレイアウトを作成する方法に依存します。画像を読み込むと、ドロアブルを変更したときに他の要素の位置が変わると、Androidシステムはレイアウト全体を再計算します。私は、新しいドロウアブルが最後のものと同じサイズを持っていれば、レイアウトを同じに保つコードを書いたとは思わない。これはシンプルな色づけよりも多くの計算を必要とする。

1

GPUを使用するのでカラーフィルタリングが速く(最終的なAPKのサイズを小さくすることができますが)、ハードウェアアクセラレータを使用すると、アプリケーションの遅延やメモリのリーク、ドロアブルのサイズデザインと...

+0

私はすでにそのカラーフィルタを使用しますが、時々私は別のドローアブルをロードするために、このtopic.i'll使用グライドをしたあなたのためにあなたをsize.thank多分それはあまりにも大きなメモリを取ることはありません表示されません。回答! +1 – erginduran

関連する問題