Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android中的SQLite是否有内存缓存以及如何释放或清除它?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,我在 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”(当然在root设备上).

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

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

为什么?

解决方法

引自Android开发者参网站:

这是来自getWritableDatabase()方法的描述,但getReadableDatabase()和getWritableDatabase()都返回基本相同的对象来读取数据库.

请注意,如果要将对数据库所做的更改保留在设备的内部存储器中,则应使用getWritableDatabase().否则它们仅在应用程序运行时期间有效,并在应用程序关闭后被丢弃.如果要完全删除数据库,则应调用sqliteDatabase的close()方法以使缓存无效.

大佬总结

以上是大佬教程为你收集整理的Android中的SQLite是否有内存缓存以及如何释放或清除它?全部内容,希望文章能够帮你解决Android中的SQLite是否有内存缓存以及如何释放或清除它?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。