どのようにメモリの問題を取得せずに多くのメディアでアプリケーションを作成するには?

私はタブレット用のアプリケーションを作成する必要があります。これは雑誌を表示し、すべての雑誌は約60-70ページを持ち、すべてのページは画像(重量約400kB - 1mb、高さ1200px、幅=画面サイズ)小さなカバー(約20kB)を持っていますが、このページに表示する必要のあるmp3、mov、その他のファイルがあるページもあります。私が初めてアプリを起動するとき、私は約200MBをダウンロードしなければなりませんが、将来はもっと多くのファイル、雑誌、そしてページがあります;

私はマガジンを開くときに約70ページを読み込まなければならず、スライドするとページが右に移動します。私が画面をクリックすると、小さな画像のカバーでギャラリービューを表示する必要があります。

私はこのアプリケーションを作成する時間の無駄だろうと思っています、どのように画像や他のファイルを表示することができたアイデアどのようなメモリ過負荷ですか?このようなアプリの経験はありますか?

0

2 答え

それについて考えてみましょう:あなたのアプリのユーザーは一度に複数のページを見ますか?

それをさらに進めるには、最後に70ページを同時に読むのはいつですか?

このようなアプリを実装するための鍵は、必要に応じてデータをロードしたりアンロードしたりすることです。これを達成するにはかなりの戦略があります。非常に単純なのは、一度にいくつかのページ(最後、現在、おそらく次の2つ)をメモリに保存することです。これにより、ページをシームレスに切り替えることができ、メモリフットプリントを低く抑えることができます。メモリの使用と応答性のバランスが正しいことを理解するのは非常に難しいかもしれませんが、必要なことだけです。がんばろう。

2
追加された
一度に1ページが表示されますが、画面上をクリックすると70個の小さなカバーがギャラリービューに表示されますが、これはまだ問題ありません。 〜のための答え。
追加された 著者 Dawid Sajdak,
ギャラリービューを実装することは、まだ別の獣です。ただし、このためにすべてのメディアをロードする必要はありません。たぶん完全に正確なサムネイル表示である必要はないでしょう。しかし、それはapp/layout/etc ppに強く依存しており、実装するための厳しい作業でもあります。
追加された 著者 cli_hlt,
同意する。これは間違いなく初心者のためのプロジェクトではありません。私は多くのマルチスレッドを予見しています。アンドロイドは多くのバックグラウンドユーティリティクラスを提供していますが、優れたデザインがないと混乱することがあります。
追加された 著者 zienkikk,

アプリケーションには、それ自身の中にいくつでも情報を入れることができますが、正しく表示するには、すべてのメディアファイルをすぐに読み込まないようにしてください。現在必要な情報のみに表示されます。多くの標準コントロールも最初は機能します(例えば、再利用されたセルを持つテーブル)。小さな画像をメモリにキャッシュすることができます。ページ間の切り替えによってすべての古い情報が削除され、新しい情報がアップロードされます。 ちょうどそれを開始し、成功は待つことはありません。

0
追加された
私はすべてのメディアファイルを表示していません、わずか3枚の画像、レイジーロードイメージを使用してメモリにキャッシュされた小さな画像ですが、メモリは私の最も大きな敵です;
追加された 著者 Dawid Sajdak,