1

90 を超えるアイテムを含む ListPicker を持つアプリを設計しています。各アイテムは、2 つの PNG 画像 (それぞれのサイズが 3KB 未満) といくつかのテキストで構成されます。

アイテムを表す新しいクラスを作成し、次を使用してこのクラスのリストを作成しています

List<ClassName> ClassNameList = new List<ClassName>();

コードで、次を使用してリストに項目を追加します。

ClassNameList.Add(new ClassName() {var1=..., var2=...});

私の場合、var1 と var2 はプロジェクトに含まれる PNG 画像へのパスです。

次に、データバインディングを使用し<itemtemplate>てアイテムをリストにバインドしています。

エミュレーターで ListPicker をロードすると、メモリ使用量が 256MB を超えます。そのため、新しい 256 MB RAM の携帯電話用にアプリを送信できません。メモリ使用量を減らす方法はありますか?

4

1 に答える 1

1

イメージ ファイルのサイズは、同じ量のメモリを使用するという意味ではありません。多くの場合、画像は圧縮形式 (あなたの場合は PNG) で、ファイルサイズが縮小されています。ただし、これは使用するメモリが少なくなるという意味ではありません。こちらのトピックもお読みください(これは WPF に関するものですが、どのような状況でも原則は同じです)。

あなたの場合はわかりませんが、同じ写真がたくさんある場合は、画像をキャッシュする (またはたとえばプロキシ パターンを使用する) ことを検討して、メモリ内の重複する画像を減らすことをお勧めします。

于 2012-05-02T07:02:27.953 に答える