有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Objective和Swift中关闭领域数据库时,我需要费心吗?

Java documentation for ^{} class有方法close。它是在方法细节中写的:“在使用领域实例时,务必记住关闭它,以免内存、文件描述符泄漏或领域文件的大小过大。”

无论是Objective-C documentation for RLMRealm class还是Swift documentation for Realm class都没有显示类似的内容

我是否需要费心关闭Objective-C和Swift中的领域数据库?为什么平台之间存在这些差异


共 (2) 个答案

  1. # 1 楼答案

    这种差异是由于不同的内存管理方案造成的。Objective-C和Swift是引用计数的,而Dalvik和ART上的Java使用标记和扫描垃圾收集器。这意味着在obj-c和swift中,对象在最后一次引用被释放时(或自动释放池被耗尽时)就会被释放,而在Java中,如果应用程序没有内存压力,对象可能会停留任意长的时间。因此,Java对象不能可靠地依靠自动内存管理来清理非内存资源,但Objective-c和Swift对象有时可以

  2. # 2 楼答案

    不,你不必费心关闭数据库

    如果Realm不提供close方法,则关闭由Realm本身处理。正如你已经提到的,不同的平台/操作系统之间存在差异