菜鸟教程小白 发表于 2022-12-12 15:55:37

ios - 保存时的核心数据性能问题


                                            <p><p>我正在使用 NSSqliteStoreType 的核心数据将数据存储在我的 iOS 应用程序中。
我需要将大量对象存储到数据库中。
为了提高核心数据的性能,我考虑了很多因素,例如:</p>

<ol>
<li>批量保存</li>
<li>仅在 for 循环结束后保存</li>
<li>清除上下文以管理内存</li>
</ol>

<p>但是保存 100k 个对象需要花费大量时间。请建议我在保存大量数据的同时提高核心数据性能的最佳做法。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><ol>
<li>您应该在非 UI 线程上使用直接绑定(bind)到持久存储协调器的上下文而不是主上下文的子上下文进行导入</li>
<li>您应该在每插入数百个新对象时调用一次<code></code>,具体取决于对象大小和图形复杂性。见 <a href="https://stackoverflow.com/a/4146350/5171225" rel="noreferrer noopener nofollow">this answer</a>了解详情</li>
<li>您应该将步骤 2 中的批处理包装在 <code>@autoreleasepool</code>block 中,并在保存后在退出自动释放 block 之前重置上下文。见 <a href="https://stackoverflow.com/a/2252727/5171225" rel="noreferrer noopener nofollow">this answer</a> </li>
</ol></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 保存时的核心数据性能问题,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31722204/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31722204/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 保存时的核心数据性能问题