我们从SQLiteDatabase
对象的方法中获得getMaximumSize()
值的单位是什么。
Android 文档不包含有关设备的信息。http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#getMaximumSize%28%29
在我的Android平板电脑上执行该方法后,我得到了值4398046507008
。
如果单位以位为单位,则等于549GB
如果单位为字节,则等于4398GB
我检查了Storage&USB
应用程序Settings
部分,发现它只有内部存储12GB
。看起来有些不对劲。
在我的一个应用程序中,我想显示可用于存储缓存 Web 服务数据的总空间和已用空间。
在我正在查看的源代码中,该方法的实现是这样的:
public long getMaximumSize() {
long pageCount = DatabaseUtils.longForQuery(this, "PRAGMA max_page_count;", null);
return pageCount * getPageSize();
}
getPageSize() 按文档返回字节数,因此这也返回字节数。