C# CursorAdapter是否比ListAdapter/ArrayAdapter更高效?
我正在使用Mono For Android创建我的Android应用程序 我的解决方案的结构如下: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())填充
- 核心->包含我的业务逻辑的.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中