AndroidのImageViews間のページングを最適化しますか?
-
19-09-2019 - |
質問
私が現在取り組んでいるアプリケーションのために、私は次のようなものを作成しました ImageSwitcher
複数の画像の場合(iPhoneを想像してください UIScrollView
ページングが有効になっています)。
最初は、いくつかハードコード化しました ImageViews
描画可能なリソースを作成/インフレにロードしましたが、いくつかの微調整(および私が改善だと思ったもの)の後、必要なビューを3に減らしました。 ImageViews
現在のページを表示し、現在のページと新しいページ間でアニメーション化するために使用されます。
この変更により、私は使い始めました setImageResource
/setImageDrawable
私の2の新しい画像の動的荷重のために ImageViews
ページをスライドする前に(HVGAディスプレイ用のサイズのPNGファイルを使用しています)。
私の失望のために、パフォーマンスは悪化しました。ページをより速くスライドするときに遅れを感じる程度まで。簡単に見てください TraceView
アプリの使用中の合計時間の17.4%が、次の重い方法の5倍以上が消費されたことを明らかにしました。 BitmapFactory.nativeDecodeAsset
, 、描画可能なリソースの動的な設定によって呼び出されます。
私はこれを回避する方法を考えています、そして、可能な限り最善の方法でそれをやりたいので、どんな提案も大歓迎です。
解決
どの形式で画像がありますか?
AndroidはRGB565画像でネイティブに動作するため、画像をその形式に変換できる場合、デコードははるかに高速になります。
所属していません StackOverflow