Android:Sqlite 数据库 getMaximumSize() 以什么单位返回大小



我们从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() 按文档返回字节数,因此这也返回字节数。

最新更新