Swift Realm docs提到您每个线程只需要null
初始化一次Realm。我想知道在我的项目中使用Realm的少数几个类中是否有任何性能(或其他)问题。是否值得制作某种单一类来保持对领域对象的引用?
答案 0 :(得分:2)
不,没有任何缺点,因为已经有保护措施来防止这种情况发生。 Realm实例在每个线程内部(弱!)缓存,具体取决于它们的路径,因此您不需要提出自己的机制。
虽然可以确保在需要常规访问权限的所有线程上保持至少一个Realm实例处于活动状态。总的来说,如果在任何线程上仍有一个实例存活,那么在另一个线程上实例化Realm要便宜得多,因为可以共享一些数据。如果你正在使用GCD,请记住,只有一个线程可以保证主线程的主队列执行任务。