iphone sqlite页面缓存不断增长

Posted

技术标签:

【中文标题】iphone sqlite页面缓存不断增长【英文标题】:iphone sqlite page cache growing 【发布时间】:2013-10-02 09:41:54 【问题描述】:

我使用sqlite 数据库进行存储。还有许多数据库事务。我的问题是 sqlite 页面缓存的内存使用量迅速增长。在instruments 我可以找到这一行

Graph   Category                 Live Bytes   # Living # Transient  Overall Bytes   
0       VM: SQLite page cache    12.12 MB     97       1434         191.38 MB   

在其中我有 97 个以下文件

#   Address     Category                Timestamp     Live  Size        Responsible Library     Responsible Caller
0   0x4c06000   VM: SQLite page cache   00:49.241.377   •   128.00 KB   libsystem_kernel.dylib  vm_allocate
1   0x5002000   VM: SQLite page cache   01:41.203.588   •   128.00 KB   libsystem_kernel.dylib  vm_allocate
2   0x5515000   VM: SQLite page cache   01:41.255.275   •   128.00 KB   libsystem_kernel.dylib  vm_allocate
3   0x5535000   VM: SQLite page cache   01:41.309.973   •   128.00 KB   libsystem_kernel.dylib  vm_allocate
4   0x5565000   VM: SQLite page cache   01:41.358.003   •   128.00 KB   libsystem_kernel.dylib  vm_allocate
5   0x55c8000   VM: SQLite page cache   01:41.407.916   •   128.00 KB   libsystem_kernel.dylib  vm_allocate
6   0x568f000   VM: SQLite page cache   01:41.451.870   •   128.00 KB   libsystem_kernel.dylib  vm_allocate
7   0x570d000   VM: SQLite page cache   01:41.501.194   •   128.00 KB   libsystem_kernel.dylib  vm_allocate
8   0x573d000   VM: SQLite page cache   01:41.550.465   •   128.00 KB   libsystem_kernel.dylib  vm_allocate

任何想法是什么原因或如何删除这些文件将不胜感激。 谢谢!

【问题讨论】:

【参考方案1】:

找到答案了,只是sqliteselect方法我误把sqlite3_close(mysqliteDB);换成了sqlite3_finalize(statement);

【讨论】:

以上是关于iphone sqlite页面缓存不断增长的主要内容,如果未能解决你的问题,请参考以下文章

SQLite中的页面缓存在啥情况下会被清除?

sqlite3 事务调整页面缓存等待锁代码

清理iframe 缓存

从 iPhone 主屏幕重新打开时,如何在 jQuery Mobile 应用程序上缓存并保留上次访问的页面?

varnish知识点介绍

防止缓存 iPhone Web 应用程序重新加载(滚动到顶部)