想知道是否调用了cursor.movetoposition(i);会触发持久存储 *** 作,还是只读取内存缓存?
在Android中的RecycleVIEw适配器中,这是经常调用的,我不想重载系统访问持久存储.这种风险是否存在?
Cursor cursor = MainActivity.db.rawquery(“Select User from UserSetting”,null); *** 作会导致缓存结果吗?
@OverrIDepublic 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
以上是内存溢出为你收集整理的android – cursor.moveToPosition(i)的速度有多快?全部内容,希望文章能够帮你解决android – cursor.moveToPosition(i)的速度有多快?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)