如何解决Android App的用户数据不断增加:会议室数据库
我最近学习了会议室数据库,并做了一个记事应用程序。该应用程序遵循MVVM设计模式,用户可以插入/删除/更新注释。
问题在于,每次插入/更新/删除时,应用程序的大小都会增加。
我检查了电话设置->应用程序-> SimpleNoteApp->存储,这些是我的观察结果。
- “应用大小”是固定的。 -15.16 mb
- 每个数据库操作的“用户数据”都在不断增加。
- 无论执行数据库操作多少次,“缓存”都不会增加
- 应用程序的总大小为1),2),3)
因此,这意味着如果我长时间使用该应用程序,即使我删除了该应用程序中的所有注释,“用户数据”也将是执行的每个数据库操作的累积总和。如果我错了,请纠正我。
Stack Overflow here上也有类似的问题,但不能解决问题。
至于编码部分,没有太多内容,因为这些是房间数据库的基本示例,我使用“ @Update @Insert @Delete”命令。
解决方法
因此,这意味着如果我长时间使用该应用程序,即使我删除了该应用程序中的所有注释,“用户数据”也将是执行的每个数据库操作的累积总和。如果我错了,请纠正我。
这是不正确的。删除行应或多或少从存储中删除数据。有一个write-ahead logging/rollback journal可能意味着它会暂时保留,因此,如果它对安全性很重要,则必须格外小心。这也可能导致短期内每个数据库的临时操作增加。但是,从长远来看,即使删除了数据库中的所有内容后,您的应用程序的存储容量仍在继续增长,这还是有问题的。
,由于开发人员不负责收集垃圾,因此@MaximFirsoff在评论中建议这实际上是正常的
我进行了一个测试,该测试进行了100_000次插入和删除,并观察到存储的更改。
观察
在“ UserData”达到阈值限制并清除数据之后,将收集垃圾。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。