gpt4 book ai didi

ios - 每次运行都需要 MobileServiceSQLiteStore.DefineTable 吗?如果是,为什么?

转载 作者:可可西里 更新时间:2023-11-01 05:53:31 25 4
gpt4 key购买 nike

我正在尝试使用我的移动应用程序提高后续登录(第一次登录后的每次登录)的应用程序启动性能,在进行一些秒表诊断后,我可以看到用 MobileServiceSQLiteStore.DefineTable<T> 定义了我的 8 个表。平均需要 2.5 秒。每次。

在运行 iOS 7 的 iPhone 4 上,如果不是每次都必须定义这些表,加载时间将不到一秒。我希望它们只需要在设置 SQLite 数据库时定义应用程序的第一次运行。我尝试删除后续登录的定义并尝试只获取同步表,但它失败并显示“表未定义”。

所以,这似乎是预期的行为。您能否解释为什么每次都需要定义它们和/或是否有任何解决方法?考虑到我的手机现在已经很旧了,这可以忽略不计。但如果可能的话,我仍然想删除它。

最佳答案

是的,每次都需要调用它,因为如果您通过非类型化接口(interface)读取数据,SDK 使用它来知道如何反序列化数据,即 IMobileServiceSyncTable而不是 IMobileServiceSyncTable<T> .

到目前为止,还没有办法避免每次都调用它。但是令我惊讶的是,您需要 2.5 秒,因为 DefineTable 不执行任何数据库操作。它只是检查您的类型/JObject 上的成员,并在内存中维护一个字典供以后重用。

我建议您下载并编译 SDK 并调试您的方式,以找出实际花费的时间。

关于ios - 每次运行都需要 MobileServiceSQLiteStore.DefineTable<T> 吗?如果是,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25858612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com