0

Androidの任意のタイプリストに何千ものアイテムをロードし続けるとどうなりますか? Androidは正しくリサイクルできますか?Androidのリストの最大アイテムキャッシュ制限

+0

"Glen Pierce"と "Smartiz"によって与えられた回答を組み合わせると、私の疑いがなくなります。あなたのおかげです。 – rss

答えて

0

短い答え

、リストビューまたはリサイクルビューのリサイクルに問題があるではないでしょう。

ロング回答

リストビューまたはリサイクラビューは単にロードし、UIに表示されているデータの量を示すであろう。だから、その中のアイテムのサイズは問題ではありません。

BUT

問題が生じる場合があります。 たとえば、スクロールビュー内にリサイクラビューを配置した場合! このような場合、すべての項目がロードされ、GCがありません。これは、多くのデータに大きな問題がある場所です。

0

リストはクラスではなくインターフェースなので、ArrayListsとLinkedListsなどいくつかの型がありますが、ArrayListはInteger.MAX_VALUEまでの要素を処理できます。私はArrayListとガーベッジコレクションに問題は一度もなく、何千もの項目がそのクラスの限界をはるかに下回っています。あなたのケースでは

+0

私はこの質問を思いつきます。なぜなら、私が各recyclerviewの項目にロードしているデータも大きいからです。だから私は、Androidでこのような巨大なデータを読み込み続けると、メモリのキャッシュが完了したか、またはRAMが足りなくなってデータが失われる可能性があると考えました。しかし、あなたによれば、それは起こりません、そうですか? – rss

+0

私は一般的にこれについてあまり心配しません。しかし、Androidアプリケーションのメモリ制限に近づいている場合(ActivityManagerのgetMemoryClass()はデバイスやOSによって異なります)、永続ストレージ(デバイスのハードドライブ)にデータを移動する必要があります。 。あなたのアプリはどれくらいの記憶を食べると思っていますか? –

+0

いいえわからない。 RVの各項目には少なくとも10個の文字列があります。そして、私はキャッシュに必要なメモリが、ビューペイジャーでアプリ全体に一度だけロードされる少なくとも1000x10の文字列を言っているかどうかはわかりません。私が言いたいことは、これを何度も読み込まないことです。ユーザーはアプリ内の別のページを切り替えることができ、読み込まれたリストは既に読み込まれています。 – rss

関連する問題