微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – cursor.moveToPosition(i)的速度有多快?

想知道是否调用了cursor.moveToPosition(i);会触发持久存储操作,还是只读取内存缓存?

Android中的RecycleView适配器中,这是经常调用的,我不想重载系统访问持久存储.这种风险是否存在?

Cursor cursor = MainActivity.db.rawQuery(“Select User 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);

解决方法:

光标有一个内存窗口.但是如果跳远,您的代码将触发io操作.
寻找细节CursorWindow

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐