Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CursorAdapter是否比ListAdapter/ArrayAdapter更高效?_C#_Android_Sqlite_Xamarin.android_Android Cursor - Fatal编程技术网

C# CursorAdapter是否比ListAdapter/ArrayAdapter更高效?

C# CursorAdapter是否比ListAdapter/ArrayAdapter更高效?,c#,android,sqlite,xamarin.android,android-cursor,C#,Android,Sqlite,Xamarin.android,Android Cursor,我正在使用Mono For Android创建我的Android应用程序 我的解决方案的结构如下: 核心->包含我的业务逻辑的.Net类库。没有Android代码。需要具有互操作性 AndroidLib->一个Android类库。包含特定于Android的代码 MyApp->Android应用程序项目。包含布局、活动等 核心包含我的实体(即Student)。我的Student类有一个属性IEnumerable Schedules。此属性是从web服务(GetAllSchedules())填充

我正在使用Mono For Android创建我的Android应用程序

我的解决方案的结构如下:

  • 核心->包含我的业务逻辑的.Net类库。没有Android代码。需要具有互操作性
  • AndroidLib->一个Android类库。包含特定于Android的代码
  • MyApp->Android应用程序项目。包含布局、活动等
核心包含我的实体(即
Student
)。我的
Student
类有一个属性
IEnumerable Schedules
。此属性是从web服务(
GetAllSchedules()
)填充的。为了节省资源,从服务下载的数据被缓存到本地SQLite数据库(缓存逻辑驻留在Core.AndroidLib中)。每当请求调度数据时,它都会首先检查缓存,只有在需要额外数据时才会转到web服务

到目前为止,Core仍然是一个纯粹的.Net类库

阅读了有关游标的内容后,我意识到游标在查询方面更高效,因为只有在需要时才“获取”数据(而不是一次预先填充
IEnumerable Schedules
并将其存储在列表中)

我不想将计划数据存储在列表中,而是考虑将其存储在游标中(即,
icursorschedule
),然而,这种方法将使我的核心库无法互操作,因为它将使用Android库中的类


我应该将计划数据保留在列表中,并从SQL中预先填充数据(
Select*from Schedules
),还是应该公开ICursor?公开ICursor是否比获取所有数据并将其存储在列表中更有效?

当屏幕打开时,效率在内存中。CursorAdapter不会将所有内容都加载到RAM中