ORMLite與GreenDao的簡單比較

以前由于項目實時性要求比較高,所以一直沒有用數據庫;即使需要存儲數據也是一些簡單的數據,用SharedPreferences就足夠了,項目中就一直沒加入數據庫。過段時間項目可能有存儲數據的需求,就提前準備一下。怎么做比較好。現在開源的ORM框架也比較多,對于有選擇困難癥的我又是比較頭疼的,不知道用哪個好,就在網上簡單了解了下。

以前經常聽說ORM,但一直不太了解具體是什么意思。今天簡單了解了下,即Object Relational Mapping。就是對象關系映射,是一種程序技術,用于實現面向對象編程語言里不同類型系統的數據之間的轉換 。從效果上說,它其實是創建了一個可在編程語言里使用的--“虛擬對象數據庫”。面向對象是從軟件工程基本原則(如耦合、聚合、封裝)的基礎上發展起來的,而關系數據庫則是從數學理論發展而來的,兩套理論存在顯著的區別。為了解決這個不匹配的現象,對象關系映射技術應運而生。好處就是簡化了數據庫查詢過程,用戶可以訪問期望數據,而不必理解數據庫的底層結構。

能叫上名字的ORM框架也比較多,以前用過LitepalOrmLiteGreenDao是早就聽說了,但是一直沒用過。通過查一些論壇帖子什么的感覺還是OrmLiteGreenDao用的比較多一點,所以決定從這兩個里邊選一個(其實Litepal也很好用,配置也很簡單)。

那么具體要選用哪個呢,就要對比一下。

1、OrmLite

基于注解和反射的的方式,導致ormlite性能有著一定的損失(注解其實也是利用了反射的原理)

優點

文檔較全面,社區活躍,有好的維護,使用簡單,易上手。

缺點

基于反射,效率較低

2、GreenDao

直接用官網的說法:

Maximum performance (probably the fastest ORM for Android); our benchmarks are open sourced too

Easy to use powerful APIs covering relations and joins

Minimal memory consumption

Small library size (<100KB) to keep your build times low and to avoid the 65k method limit

Database encryption: greenDAO supports SQLCipher to keep your user’s data safe

Strong community: More than 5.000 GitHub stars show there is a strong and active community

優點

效率高、體積小、占用內存小

缺點

學習成本高。


對比

這個是GreenDao官網上的對比,通過對比可以發現GreenDao插入和更新的速度是sqlite的2倍,加載實體的速度是ormlite的4倍。這樣呢我就更傾向于使用GreenDao了。雖然開始可能比較難,學習成本有點高,但是我還是想學一學的。

下一篇開始分享簡單的用法和遇到的問題。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容