Android中的SQLite是否有内存缓存以及如何释放或清除它?

2024-05-24

首先,我在 Android 应用程序中创建一个名为“mydb”的数据库:

DBHelper dbHelper = new DBHelper(context, "mydb", null, 1);//DBHelper is my custom class

并将一些数据写入其表中:

SQLiteDatabase db = dbHelper.getReadableDatabase();
db.execSQL("insert into mytable(name, text) values ('allen','hello')");

在这里,一切都好。但是,我手动删除这个数据库,而不是通过编程,使用软件“R.E.explore”(当然在有根设备上)。

然后,在我的代码中,我读取了数据库的这个表。令人惊讶的是我仍然可以获得我存储的数据。

Cursor cursor = db.query("mytable", new String[]{"name","text"}, null, null, null, null, null);

Why?


引用自 Android 开发者参考网站:

打开成功后,数据库已缓存,所以你可以打电话 每次需要写入数据库时​​都使用此方法。 (确保 当您不再需要数据库时调用 close()。)

这是来自描述的getWritableDatabase()方法,但是两者getReadableDatabase() and getWritableDatabase()返回基本上相同的对象来读取数据库。

请注意,您应该使用getWritableDatabase()如果您想将对数据库所做的更改保留在设备的内存上。否则,它们仅在应用程序运行时有效,并在应用程序关闭后被丢弃。如果你想完全删除数据库,你应该调用 SQLiteDatabase 的close()方法以使缓存失效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android中的SQLite是否有内存缓存以及如何释放或清除它? 的相关文章

  • 如何检测android中的颠倒方向?

    在我的 Android 应用程序中 我有全景图像 并且我使用 TYPE ORIENTATION 传感器根据手机运动旋转该图像 它对于横向和纵向都工作良好 这是旋转逻辑的代码 Override public void onSensorChan
  • 相当于Android中的javax.swing.Timer

    有没有类似的东西javax swing Timer在安卓上 我知道如何创建自己的线程 但是有类似摆动计时器的东西吗 您可能正在寻找课程android os CountDownTimer http developer android com
  • PhoneGap 上的 SQLite 数据库

    我想使用 PhoneGap 为 iPhone 实现 SQLite 数据库 我了解 iPhone 本机应用程序中 SQLite 数据库的一些基础知识 但是如何在 PhoneGap 中实现 SQLite 数据库呢 我们最终使用了PhoneGap
  • Android 上的硬币识别

    我目前正在开发一个 Android 应用程序 它能够拍摄硬币的现有图像 或者使用内置摄像头扫描单个硬币 非常像 Google Goggles 我正在使用 Android 版 OpenCV 我的问题如下 什么方法最适合使用 OpenCV 在
  • Android,语言文件不起作用

    我现在正在创建一个 Android 应用程序 并尝试为我的母语添加语言文件 但在某种程度上 这对我不起作用 我尝试在两部不同的手机中加载该应用程序 但结果相同 之前创建过语言文件 效果良好 但这次不行 手机设置为瑞典语 语言文件适用于我创建
  • 如何从debug.keystore文件获取MD5?

    我使用一些命令来获取 MD5 私钥debug keystore文件 但实际上我得到的是 SHA1 私钥而不是 MD5 我不知道如何获得MD5 这是我使用的命令 keytool list alias androiddebugkey keyst
  • 来自外部 XML 的 Android 本地化

    是否可以使用从服务接收到的 XML 在运行时翻译 Android 应用程序 如果可能的话 请有人指出我正确的方向 谢谢 Warning 我读到的所有内容都表明 让您的应用程序更改语言不是一个好主意 因为 Android 框架不支持它 并且可
  • 将搜索结果更新为 Android 中的 Lazy Adapter

    我有项目列表 想为其实现搜索功能 因此 我有一个带有 addTextChangedListener 的文本框 搜索结果运行良好 但当我尝试将结果设置为 ListView 时 新结果将附加到旧结果中 我正在使用惰性适配器 如何清除适配器中的旧
  • ImageButton 拉伸背景图像

    我正在尝试创建一个没有边框的 ImageButton 但遇到了图像按钮大小的问题 我使用 Eclipse ADT 将 ImageButton 拖到布局中并选择背景图像 图像按钮显示如下 正如您所看到的 背景图像和图像按钮周边之间有一个边框
  • Android 依赖项:apklib 与 aar 文件

    据我了解 apklib包含代码 共享资源Maven aar文件由以下人员分发Gradle The aar与 apklib 的主要区别在于 类被编译并包含在 aar 根目录下的classes jar 中 然而apklib不能包含已编译的类文件
  • 对基本适配器类及其功能的疑问

    我正在尝试自定义列表视图 我使用数组列表添加对象列表 并将其发送到扩展基本适配器的类 当我扩展基本适配器类时 它实现了一些方法 例如 getView 等 在 getView 中 我将其发送到将名称 数据 分配给 XML 格式的自定义菜单的类
  • 如果联系人与电话通讯录中的应用程序关联,则显示应用程序图标

    我正在尝试显示与该应用程序关联的电话号码的应用程序图标 我试着跟随this http www c99 org 2010 01 23 writing an android sync provider part 1 链接但是太难了 有没有任何库
  • Android 将菜单项在操作栏中向左对齐

    我的应用程序中有一个操作栏 它显示我定义的菜单项res menu activity main xml 我的菜单项在操作栏上向右对齐 我希望它们左对齐 我为此找到的唯一解决方案使用了自定义操作栏 如下所示 将菜单项放置在 Honeycomb
  • Qt 和 Sqlite 示例

    我正在寻找一些使用 Qt 的示例代码 它是带有 Sqlite 驱动程序的 SQL 模块 我需要示例的主要原因是我之前有 Qt 数据库接口的经验 并且 Sqlite 在字段类型方面有一些奇怪的行为 类型是按字段存储的 而不是按列存储的 The
  • 使用 eclipse 配置mockito 时出现问题。给出错误:java.lang.verifyError

    当我将我的mockito库添加到类路径中 并使用一个简单的mockito示例进行测试时 我尝试使用模拟对象为函数add返回错误的值 我得到java lang verifyerror 以下是用于测试的代码 后面是 logcat Test pu
  • Android 视图和视图组

    在安卓中ViewGroup继承自View A ViewGroup是一个容器 里面装有Views ViewGroup LinearLayout View TextView 为什么 Android 的人们将这种关系定义为Inheritance而
  • Exif 方向标签返回 0

    我正在开发一个自定义相机应用程序 我面临以下问题 当我尝试使用检索方向时ExifInterface 它总是返回 0 ORIENTATION UNDEFINED 这使我无法将图像旋转到正确的状态 从而无法正确显示 我使用示例代码来设置相机旋转
  • 将数据放入短信发送意图中?

    我想发送短信 如果文字太长 我会将其分成多条消息 我试图将一些额外的信息放入 已发送 意图中 以了解哪个部分已发送 以及所有部分何时完成 ArrayList
  • Android:列“_id”不存在

    我收到这个错误 IllegalArgumentException 列 id 不存在 当使用SimpleCursorAdapter从我的数据库中检索 该表确实有这个 id柱子 注意到这是一个常见问题 我尝试根据网上的一些解决方案来解决它 但它
  • android-如何在谷歌地图上将标记的位置显示为地址

    我已经尝试过 commonsware googlemapsv2 教程 特别是在地图上拖动标记 但现在另一个问题困扰着我 问题是如何将标记的当前位置显示为地图下方或上方的地址 字符串 这是我使用的代码 public class MainAct

随机推荐

  • EL1007E:无法在 null 上找到属性或字段“fieldName”

    晚上好 我不再有解决方案 我一直在犹豫是否寻求帮助 但我几乎陷入了死胡同 我正在开发一个 Spring boot 2 0 5 Spring MVC 5 0 9 ThymeLeaf 3 0 9 项目 需要在几周内交付 我已经遇到了几个星期的问
  • 具有相同参数类型但具有不同常量限定符的 std::vector 的转换

    问题很简单 静态转换 或其他一些转换 通常是安全的 std vector lt Foo gt to std vector lt const Foo gt 就二进制而言 我不明白为什么本机类型会有所不同 毕竟const是一种语言约束 不应影响
  • X11 模式对话框

    如何使用 Xlib 在 X11 中创建模式对话框 模态对话框是一个位于应用程序其他窗口之上的窗口 就像瞬态窗口一样 并且拒绝将焦点给予应用程序的其他窗口 在 Windows 中 当试图从模态窗口夺取焦点时 模态也会通过闪 烁模态窗口的标题栏
  • Android 4.3 的 Google 地图 Android API V2 问题

    我是谷歌地图的新手 刚刚点击此链接http www androidhive info 2013 08 android working with google maps v2 http www androidhive info 2013 08
  • 结构体如何存储在内存中?

    我有一个struct iof header在我的代码中 我确定它的宽度是 24 字节 我执行 sizeof iof header 它返回 32 字节宽 问题1为什么是 32 字节宽而不是 24 字节宽 问题2包括其成员在内 结构体如何存储在
  • .NET 单点登录

    我一直在尝试使用 C 为 NET Web 应用程序实现 WEB SSO 服务提供程序插件 我将使用 shibboleth 身份提供商 我已经使用 OpenSAML 库为 java 应用程序实现了相同的功能 我想知道在 NET 应用程序中使用
  • 当我使用完成建议器时,如何获得没有重复的独特建议?

    我在我的环境中使用弹性 5 1 1 我在字段名称上选择了完成建议器post hashtags带有一个字符串数组来提供建议 我收到前缀 inv 的响应如下 Req POST hashtag search pretty filter path
  • 克隆元素对应表单中所有元素的事件

    我成功克隆了表行 其中包含从数据库检索的值 不过我对它没有什么问题 我对所有元素使用了类 因为克隆会重复 ID 不会出现问题 因为它无法唯一地定位每个元素 使每个元素 行在这里唯一的方法是什么 功能如何工作 当第一次选择框时 所选 ID 的
  • 将值排列在特定组内

    我试图在嵌套数据帧的精确组内按降序排列值 我的输入数据如下所示 我有两个分组变量 group1 and group2 和三个值 即id value2 value3 library tidyverse set seed 1234 df lt
  • 嵌入来自谷歌驱动器的图像,没有灰色边框和缩放工具?

    I have a webpage that has an image that is stored in google drive and using the google drive embed code results in this
  • 为简单应用程序生成 PHAR

    我正在尝试使用 Symfony2 控制台库构建 CLI 工具 我已经有了一些基本的工作 现在我想将其打包为一个 Phar 我读过一些示例 但我看到的示例非常简单 3 个文件 没有命名空间等 In my src 目录我有以下内容 Above
  • 如何使用 MKOverlayPathView 创建路径?

    我一直在查看 Apple 的 iOS 类参考文档 但不幸的是我一无所知 我已经下载了他们的示例代码KMLViewer但他们把它变得过于复杂了 我真正想知道的是如何生成路径并将其添加到MKMapView 该文档谈到使用CGPathRef 但并
  • ASP.NET MVC 4 Web Api 和 REST 经典服务之间的区别

    我看到了ASP Net MVC4 WebApi将服务公开为 Rest 服务 但实际上和正常有什么区别Rest and ASP Net MVC4 WebApi 我不确定你的意思normal Rest REST http en wikipedi
  • fopen_s 怎么会比 fopen 更安全呢?

    我正在处理遗留代码Windows平台 当我编译代码时VS2013 它给出以下警告 错误 C4996 fopen 该函数或变量可能不安全 考虑使用fopen s反而 要禁用弃用 请使用 CRT SECURE NO WARNINGS 详情请参见
  • Linq - 从表达式 创建表达式

    我有一个谓词Expression
  • Array.find方法问题

    我在 ZenTest 源代码中找到这一行 result test mappings find file re ignored filename file re The test mappings and result这里都是 Array 对
  • Jodatime 日期格式

    是否可以格式化 JodaTime 日期 这是代码 private static LocalDate priorDay LocalDate date1 do date1 date1 plusDays 1 while date1 getDayO
  • 无法在 Web 服务器上启动调试。远程服务器返回错误:(404) 未找到。在 Visual Studio 中启动调试时出错

    我已经将项目设置为在 IIS 上运行一段时间了 当我按 F5 时 它确实连接没有问题 但最近它停止工作 当我按 F5 press 时确实收到此错误Debug gt Start debugging 无法在 Web 服务器上启动调试 远程服务器
  • 向 .htaccess 添加 HTTP 严格传输安全

    我想将 HTTP 严格传输安全指令添加到我的 htaccess 文件中 我已在此处的代码末尾添加了锁 但是当我测试测试 HSTS 预加载过程时 它显示设置未设置 我检查了 Apache 配置并看到 headers 模块已启用 我缺少什么
  • Android中的SQLite是否有内存缓存以及如何释放或清除它?

    首先 我在 Android 应用程序中创建一个名为 mydb 的数据库 DBHelper dbHelper new DBHelper context mydb null 1 DBHelper is my custom class 并将一些数