データベースとコンテンツ プロバイダーを備えたアプリケーションがあります。データベースのデータを で表示するためにListView
、 を使用しますLoaderManager
。シンプルで、ほとんどの場合、完璧に機能します。
しかし、コンテンツ プロバイダーから多くの変更通知が届くと、UI は完全に過負荷になります。これは、カーソルが監視する uri に多くの挿入 (1 秒あたり約 15 回) がある場合に発生します。カーソルの読み込みがバックグラウンドであっても、大量のbindView()
呼び出しで UI が過負荷になると思います。
したがって、場合によっては、上記のように、ロード (およびonLoadFinished()
呼び出し) の数を 1 秒あたり 1 回などに制限したいと思います。
でそれを達成する方法はあり
LoaderManager
ますか?startLoading()
andで遊んでみましたstopLoading
が、成功しませんでした。とにかくお勧めしません。Loader
または、自分で管理する必要があるかもしれませんが、この状況が一般的でない場合は驚くでしょう.
アドバイスありがとうございます。
編集
私は実際に方法を逃しました...setUpdateThrottle(long delayMS)
私がやりたいことを正確に行います。