從性能的角度來看,無論其他方面的限制:SQLiteDatabase Android的性能問題
什麼是在整個應用程序生命週期打開一個SQLiteDatabase的成本是多少?
是否值得努力打開/關閉每次需要(和維護狀態)?
從性能的角度來看,無論其他方面的限制:SQLiteDatabase Android的性能問題
什麼是在整個應用程序生命週期打開一個SQLiteDatabase的成本是多少?
是否值得努力打開/關閉每次需要(和維護狀態)?
在1)和2)時,存儲器的成本是數據庫打開時相同。所以2)顯然比這個非常簡化的假設更加昂貴。
如果您使用SQLiteOpenHelper
,它會緩存您的數據庫對象,這意味着它將僅打開一次並僅關閉一次。您隨後可以隨時隨地使用getReadableDatabase()
或getWriteableDatabase()
,因爲您將使用緩存的數據庫。
SQLiteOpenHelper
也使得創建,打開和升級(以及使用API 11降級)數據庫變得非常簡單,並且是Google推薦的使用SQLite的方式。
但是數據庫在整個流程週期中開放肯定會有一些成本? –
內存。但這並不影響「表現」。 – Mat