SimpleCursorAdapterアダプタを使用してアンドロイドリストビューを使用し、リストビューに対してファストスクロールが有効になっています。私は小さいデータセットを持っている場合、高速スクロールは正常に動作しますが、大きなデータセット(4000レコード以上)の場合、リストビューを高速にスクロールしながら、ANRを経由して表示されます。 android.databaseでandroid.database.AbstractCursor.moveToPosition(AbstractCursor.java:188) でandroid.database.BulkCursorToCursorAdaptor.onMove(BulkCursorToCursorAdaptor.java:104) で.database.BulkCursorProxy.getWindow(BulkCursorNative.java:215) .CursorWrapper.moveToPosition(CursorWrapper.java:187)android.widget.AlphabetIndexer.getPositionForSection(AlphabetIndexer.java:202)の *ANRより大きいデータセットでリストビューを高速でスクロールする
またlogcatの表示 * 10-19 11:40:20.664 3026 3215 Dカーソル:skip_rows行41 10-19 11:40:20.773 3026 3215 E CursorWindow:成長する必要があります:mSize = 1048576、size = 55、freeSpace ()= 42、numRows = 2471 10-19 11:40:20.773 3026 3215 E CursorWindow:既に2471の行、最大サイズがあるために拡大しない1048576 10-19 11:40:20.773 3026 3215 Eカーソル:40:20.796 3026 3215 Dカーソル:finish_program_and_get_row_count行1614 *
Iカーソルが大きいデータセットのためのメモリの割り当てを解除し、割り当てて考える2511,14 10-19 11でテキスト/ブロブ55のバイトを割り当てることに失敗しました。 ANR
にこのリードは事前に私はあなたに似たissue.My提案に直面していた
よろしく、 サティッシュまあ