Android UniversalImageLoaderのソースを読んでいます。
ImageScaleTypeが何なのかわかりません。IN_SAMPLE_POWER_OF_2はを意味します。
「高速タイプであり、リスト/グリッド/ギャラリー(およびその他のAdapterView)での使用に適しています」と書かれています。
なぜ高速で、adapterViewsでの使用に適しているのですか?
Android UniversalImageLoaderのソースを読んでいます。
ImageScaleTypeが何なのかわかりません。IN_SAMPLE_POWER_OF_2はを意味します。
「高速タイプであり、リスト/グリッド/ギャラリー(およびその他のAdapterView)での使用に適しています」と書かれています。
なぜ高速で、adapterViewsでの使用に適しているのですか?
これについてはよくわかりませんが、この列挙値は、おそらく出力画像の単一ピクセルを計算するために、取得されたピクセル (「サンプル」) の数を表していると思います。
計算では通常、 のように多数のソース サンプルの平均値が使用されますnewValue = (srcValue[1] + srcValue[2] + ... srcValue[n]) / n
。また、整数値をビットシフトすることにより、 が 2 の累乗であるn
場合、による除算を非常に高速に計算できます。n
が 2 の累乗でない場合n
は、「実際の」除算演算が必要になりますが、これは計算コストがはるかに高くなります。
画像に適用される倍率です。に設定すると2
、画像の幅と高さが半分になります。つまり、使用するメモリは少なくなりますが、画面上の小さな「ボックス」も占有します。