Android类SQLiteOpenHelper有一个返回可读数据库以及可读写数据库的方法.目前我只使用可写数据库并且没有问题,但我想知道如果我只是在异步任务(或活动)中读取,那么改为使用可读性会带来什么好处.
可能有性能优势,但我没有看到任何实际数字的参考.此外,如果我在可读和可写之间切换,则更改会产生一些开销,可能会带来所有性能优势.
有没有人有这方面的实际数字或经验?是否值得实施单独访问?
好问题.没有数字来自我.最近的解释(来自SQLLiteOpenHandler javadoc)
"此(getReadableDatabase)将与getWritableDatabase()返回的对象相同,除非某些问题(如完整磁盘)要求以只读方式打开数据库.在这种情况下,将返回只读数据库对象.问题得到解决,将来对getWritableDatabase()的调用可能会成功,在这种情况下,将关闭只读数据库对象,并在将来返回读/写对象."
我无法对性能优势发表评论,但我总是尝试着对"良好实践"(或"最佳实践")的原则,以便访问任何"数据"源(文本文件,数据库或其他).
一般地看待事物(不是特定于Android的),在决定访问级别时要做出的决定,归结为要执行的操作以及任何外部影响.
我能想到的两个例子......
好的,这些点可能与Android有关,也可能没有(特别是如果您的数据源特定于您的应用),但正如我所说,我试图一般地看待事物并使用"最佳实践"方法.如果我不需要"写入"访问权限,我不会要求它.
归档时间: |
|
查看次数: |
2426 次 |
最近记录: |