在Android Room文档中,我注意到Room lib有一个名为rspec . --tag=~io_bound # runs all specs NOT tagged as io bound (all your other tests)
的生成器:
为内存数据库创建RoomDatabase.Builder。信息 当进程被杀死时,存储在内存数据库中的数据将消失。 建立数据库后,您应该保留对其的引用并重新使用 它。
我曾经使用单例将会话对象保留在内存中,却从未使用过Room for inMemory数据库,我的问题是: 使用Room代替Singleton将会话数据存储在内存中是一个好习惯吗? 辛格尔顿根本是个坏习惯吗? 我需要内存,因为此会话数据仅在用户使用应用程序时使用,如果应用程序被杀死,则该会话数据将无法持久保存...
答案 0 :(得分:1)
如果数据是结构化的,并且需要以不同的方式(顺序或过滤)进行检索,那么使用SQLite内存数据库是个好主意。
请记住,Room数据库也应作为单例构建,因为在多线程情况下必须对数据库访问进行“管理”。
记住要在onCreate
类的Application
方法中创建它。