gpt4 book ai didi

android - 确保审计表不影响应用程序使用的 RAM

转载 作者:行者123 更新时间:2023-11-30 00:31:57 25 4
gpt4 key购买 nike

我尽量简化了我的情况,所以它看起来不太真实,抱歉。但这是基于一个真正的担忧。

假设我有一个向用户显示当前温度的小型 Android 应用程序。温度每秒都在变化,应用程序一直在工作。

该应用程序还有一个“审计”数据库表:

CREATE TABLE TemperatureAudit (
secondsFrom1970 INTEGER not null,
temperature INTEGER not null);

此应用程序运行一年后,审计表将非常大。让我们想象一下,如果不是真的有必要,我不想截断它。

所以对于那些了解 sqlite 如何在 Android 上工作的人来说,问题是:我应该担心吗?

  1. 当我不使用它时,sqlite 会尝试在 RAM 中加载这个大表吗?例如,当我从不同的表中进行选择时。
  2. 如果我尝试“从 TemperatureAudit 中选择温度 > 0 的计数”,sqlite 会一个接一个地加载这个大表吗?还是将整个表一次性加载到 RAM 中?
  3. 如果 sqlite 对内存分配不太吝啬,我该怎么办?将此表移动到另一个数据库是否有助于解决第一个问题?表分区对第二个有帮助吗?

最佳答案

SQLite 加载所有表的元数据,但不加载任何不需要的实际数据。

所有对数据库的访问都是通过页面完成的,页面大小只有几KB;当前未使用的任何页面都不需要在内存中。因此,扫描表格需要的内存非常少。

关于android - 确保审计表不影响应用程序使用的 RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44168041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com