November 6, 2024

什么是 App 数据库,如何维护它?

1. 一般信息

Telegram app 在你的设备上存储不同类型的数据:

  1. 对话中下载的照片和视频。它们以文件形式存储在 Telegram app 的目录中。它们的存储空间称作“缓存”。
  2. 消息文本和关于对话的某些额外服务信息。这些数据储存在称作“数据库”的空间。
  3. 有关 app 中发生的所有事件的技术信息都存储在称作“日志”的特殊文本文件中。

在这篇文章中,我们将解释什么是 app 数据库,以及如何让数据库保持健康。

2. 什么是 Telegram app 数据库?

数据库存储了技术数据,这些数据无法在 Telegram app 中查看。它的容量比缓存小得多,但数据库的故障和其中的错误将对 app 造成更大的干扰。

数据库的不正确操作会导致如下功能运行异常:

  1. 显示对话列表。对话可能不会正常显示在列表中,即使它们肯定存在,甚至可以搜索得到。
  2. 从服务器下载媒体到设备中,或从设备上传媒体到数据库。数据可能不会被下载,或者下载卡住,或者下载后发现数据并没有保存。除了数据库故障,缓存溢出也可能引发这样的问题。
  3. 从服务器下载故事到设备,或从设备上传故事到服务器。

App 的其他功能也可能会出现故障。

请注意:你的 app 中每个登录的账号都有它自己独立的数据库。因此,为了修复 app 中的错误操作,你可能需要依次登录每个账号清理数据库。

3. 需要清理的数据库大小是多少?

需要清理数据库的确切大小无法确定。很多用户在数据库占用整整一个 GB 时使用 app 也不会遇到任何问题,而另一些用户数据库占用只有几十兆却很难正常使用 app。

然而,本文作者认为正常的数据库大小最多为 100 MB。但是,这只是一个近似值。

4. 如何清理数据库?

4.1. Android

  1. 转到“设置 (Settings) > 数据和存储 (Data and Storage) > 存储用量 (Storage usage)”。
  2. 点按位于屏幕右上角的三个点按钮。
  3. 选择“清理本地数据库 (Clear Local Database)”。
  4. 记下清理之前它在设备上占用了多少空间(这很重要!)。
  5. 确认清理并等待该过程完成。清理数据库通常需要几十秒,但在某些情况下可能需要长达 10 分钟,甚至更长时间。
  6. 再次点击三个点按钮,选择“清理本地数据库”。
  7. 查看清理后数据库占用了多少空间。

问题是,如果数据库积累了严重错误,即使是它的自我清理系统也可能无法正常工作。清理后的数据库正常大小为几十兆字节。如果数据库的大小在清理后没有变化或仍然超过 100 MB,则数据库清理没有工作或没有正确工作。在这种情况下,您需要在确保您能够使用该账户的SIM 卡或其他已登录的设备,并且知道账户的云密码(如果在设置中指定了该密码)的前提下,在注销您的账户(“设置 (Settings) › 屏幕右上角的三个点按钮 › 注销 (Log out) › 注销 (Log out)”)后重新登录。

请注意:清理当前账户的数据库不会影响 app 上登录的其他账户的数据库。

Android 用户还可以重置对话缓存。重置操作有时也能解决 app 中的一些问题。

  1. 转到“设置 (Settings)”部分后双击并按住带 app 版本号的标题文本。App 将显示调试菜单 (debug menu)。
  2. 在打开的菜单中,选择“重置对话 (Reset chats)”。

4.2. iOS

iOS 用户有几种不同的方法来清理 app 数据库。所有需要用到的按钮都位于所谓的“调试菜单”中。要打开调试菜单,请快速的按设置 (Settings) 按钮(屏幕最右下角的按钮)10 次。

  1. 清空数据库 (Clear Database)。删除本地存储的所有数据,包括加密对话。当优化数据库没有效果时,可使用此选项:请参阅第 3 点。
  2. 清空数据库和缓存 (Clear Database and Cache)。与上述选项一致,但也会清空全部的媒体缓存。
  3. 优化数据库 (Optimize Database)。更温和的数据库清理。会留存包含加密对话在内的某些数据,但有时也能够使 app 的功能恢复正常。

4.3. 清理数据库后会发生什么?

没有数据会从任何地方消失:你的消息仍然会在对话的原处(iOS 上的"清空数据库 (Clear Database) 是一个例外")。但 app 需要一些时间重新从服务器下载正确和快速运行各种功能所需的数据。在这些数据下载完之前,app 可能会“变慢”:例如,从一个页面切换到另一个页面的速度会变慢,或通过文本搜索消息需要更长时间。通常在清理数据库后的几分钟内,所有功能就会恢复正常,不会比清理前更差或更慢,在大多数情况下是会更快。