2016-09-06 11 views
4

cursor.moveToPosition(i);を呼び出すと、永続ストア操作がトリガーされるか、メモリキャッシュからの読み込みが発生しますか?cursor.moveToPosition(i)の速さはどれくらいですか?

RecycleView AdapterのAndroidでは、これはかなり頻繁に呼び出されますが、永続ストアにアクセスするシステムに過負荷をかけたくありません。このリスクはまったく存在しますか?

Cursor cursor = MainActivity.db.rawQuery("Select _id From UserSetting", null);操作がキャッシュされた結果になりますか?

@Override 
public void onBindViewHolder(ItemHolder itemHolder, int i) { 

    cursor.moveToPosition(i); 
    int i2 = cursor.getColumnIndexOrThrow("_id"); 
    final String _id = cursor.getString(i2); 
    itemHolder.itemRecordName = _id; 
    int i3 = cursor.getColumnIndexOrThrow("text"); 
    final String text = cursor.getString(i3); 
    int i4 = cursor.getColumnIndexOrThrow("userSettingRecordName"); 
    final String userSettingRecordName = cursor.getString(i4); 

答えて

1

カーソル用のメモリウィンドウがあります。長いジャンプの場合、コードがio操作をトリガーします。 詳細をご覧くださいCursorWindow

関連する問題