0

私はAndroidの互い違いのグリッドを使って画像のラインを表示しています(ほとんどすべてが同じサイズです)。これは、画面の高さあたり15枚の画像の近くに表示されます。 画像がない場合(プレースホルダーのみ)、スクロールはうまく機能しますが、スクロールが楽しくなります。私は休止\再開テクニックを使用しますが、それはそれほど助けません。また、私はバックボーンまでそれを釘付けにして、余分なデータが漏れることを避けました。ピカソでリサイクラーのスクロールによるGCコールを減らすにはどうすればいいですか?

非常に頻繁に発生する唯一の問題はGCコールです。これが私の問題の根源だと思う。ビューホールダーはここで再利用できるので、ビットマップを使用しないで集めたと仮定します。

このような場合のGCコールの頻度を減らす方法はありますか?

+0

あなたはスクロールで画像を失っていますが、アクティビティが変わっていないアイテムに戻ったときに少し遅れて戻ってきます。 – nobalG

+0

lugginessは画像を読み込もうとするピカソのキャッシュ機構です。必要に応じて適切なキャッシングを実装し、フェードアニメーションを削除すると、動きが悪くなります。 – Kushan

+0

ピカソでは遅れがほとんど問題になりません。コードを投稿すると、誰かがあなたに具体的な助言を与えることができます。 –

答えて

0

GCを制御することはできません。しかし、gc呼び出しの量を減らすために、ピカソで適切なメモリキャッシュを調べることができます。

また、画像があまり大きくないことも確認してください。画像のサイズはおおよその表示と同じにする必要があります。 OKHTPを使用してディスクキャッシュソリューションを実装する方法もあります。

メモリとディスクの両方のキャッシュサイズを制御するために作成したカスタムのpicassoの実装を調べてください。また、両方のキャッシュをクリアする方法もありました。 (私の更新の答えのための非受け入れ答えを参照)

Limiting Square Picasso's cache size to 60MB max

は、しかし、多くの研究の後、私はピカソのメモリと非常に効率的ではないと結論付けたと私は今フレスコを使用しています。それは私が見たものから、メモリフットプリントの面でははるかにスムーズで、ピカソよりも優れています。

関連する問題