質問

私が現在取り組んでいるアプリケーションのために、私は次のようなものを作成しました ImageSwitcher 複数の画像の場合(iPhoneを想像してください UIScrollView ページングが有効になっています)。

最初は、いくつかハードコード化しました ImageViews 描画可能なリソースを作成/インフレにロードしましたが、いくつかの微調整(および私が改善だと思ったもの)の後、必要なビューを3に減らしました。 ImageViews 現在のページを表示し、現在のページと新しいページ間でアニメーション化するために使用されます。

この変更により、私は使い始めました setImageResource/setImageDrawable 私の2の新しい画像の動的荷重のために ImageViews ページをスライドする前に(HVGAディスプレイ用のサイズのPNGファイルを使用しています)。

私の失望のために、パフォーマンスは悪化しました。ページをより速くスライドするときに遅れを感じる程度まで。簡単に見てください TraceView アプリの使用中の合計時間の17.4%が、次の重い方法の5倍以上が消費されたことを明らかにしました。 BitmapFactory.nativeDecodeAsset, 、描画可能なリソースの動的な設定によって呼び出されます。

私はこれを回避する方法を考えています、そして、可能な限り最善の方法でそれをやりたいので、どんな提案も大歓迎です。

役に立ちましたか?

解決

どの形式で画像がありますか?

AndroidはRGB565画像でネイティブに動作するため、画像をその形式に変換できる場合、デコードははるかに高速になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top