DBFlow 学习笔记(一)

  走进 DBFLOW : 高性能的 Android ORM DB 库

      有许多流行的 ORM DB 库(如:Active Android,Sprinkles,GreedDAO,SugarORM),并且似乎每个库都是采用反射来实现核心的数据库交互。 然而 DBFlow 一个更高效和强大的 Android ORM DB 库。

   反射带来了的风险

       在 Java 虚拟机中,反射被广泛用于需要在应用运行时能够检查并修改的场景。简而言之,它允许我们在运行时通过检索指定的内容,获得对应对象的属性和数据。了解这些之后,举个例子,我们能通过数据库指定的表中的一列匹配一个Model对象的一个字段。
       在一个应用中选择数据密集的后端,性能是一个主要的考虑因素。根据 Java 官方文档,反射是不能被编译器优化的,因此选择反射代替“本地执行”带来了不可忽视的性能缺陷。

    注解处理:一个更为高效的选择

       在 Java 中,注解处理是一个编译器运行之前的步骤,它收集一个项目中所有定义的注解并预理执行了一些操作。编写注释处理不是一个简单的任务,他有两个不可忽视的障碍:学习曲线和编写可读性代码。学习曲线是非常陡的,因为注解预理的 API 相比反射的 API , 它包含了一系列不同的类名。其次,我们是需要编写生成代码的代码。由此,编写注解处理代码是要反复试验,直到这些代码能正确的编译并运行得到预期结果。

       DBFlow 使用这个功能在编译时来生成各种类和数据库的交互代码。它使得这个库的本地执行速度能和自行编写的代码同样快捷。当然生成的代码是透明的——即我们也能在应用运行时看到这些代码并且能在编译时捕捉到错误。而反射确是很难调试的,因为我们只能在运行时捕捉错误。


原文地址:http://www.raizlabs.com/dev/2015/02/go-dbflow-fastest-android-orm-database-library

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值