1
0
所有窗体的I/O都应该在后台线程上执行,以免阻塞主应用程序线程。
现在一种更典型的方法是让数据库访问由单例存储库管理(无论是手动创建的单例还是通过依赖注入框架提供给您的单例)。在后台线程上执行I/O时,存储库可以使用任意数量的方法来提供反应式API,包括:
如果您使用Room作为数据库访问层,它将“免费”为您提供这三个选项。其他一些orm提供类似的功能。
后台服务只能运行一分钟。如果您关心的是打开数据库的开销,请使用单例存储库,并且每次流程调用只打开一次。您也完全有可能不需要服务;如果您有一个前台UI,那么服务可能毫无意义。
嗯,可能吧,但再说一遍,在这里使用服务可能不是必要的,而且肯定会使问题更复杂。 因此:使用后台线程进行I/O。这不需要涉及服务。 |
Abhilash Das · 输入文本时,编辑文本与工具栏重叠 1 年前 |
Community wiki · 局部变量可能尚未初始化 1 年前 |
jvargas · 如何获取上个月的第一天和最后一天以及一年的第一天 1 年前 |