【问题标题】:Loading large amount of data from Sqlite database in Android从Android中的Sqlite数据库加载大量数据
【发布时间】:2012-01-19 12:07:42
【问题描述】:

我正在编写一个包含不同部分(包括字典)的 Android 应用程序。为了实现字典,我使用了以下技术:

  1. 从 Sqlite 数据库中读取所有单词并将它们存储在数组列表中。 (“从词汇表中选择 *”)。

  2. 搜索定义,对数组列表使用简单的二分搜索。

从数据库中提取单词(大约 50000 个单词)需要很长时间,有时它会出现“内存不足”异常。然而,在加载数据后,它可以非常快速地找到单词的定义。 请指导我如何实现字典?

【问题讨论】:

    标签: android sqlite dictionary load


    【解决方案1】:

    数据库通常用于快速耗尽内存访问(磁盘访问)。将整个数据库放入内存并没有多大意义。使用 sql 仅访问特定任务所需的信息。在查找键上建立索引以提高性能

    【讨论】:

    • +1,我真的很惊讶在 Android 上使用 SQLite 查询的速度有多快,甚至是复杂的查询。我现在将数据库用作我的大多数应用程序的主内存(当我需要信息时从它读取,一旦用户输入一些输入就保存到它)
    • 作为旁注,这是真的,因为数据库是本地的 - 当数据库服务器和应用程序服务器之间存在网络时,将数据“缓存”在本地内存中是有意义的。显然,Android 并非如此。
    • 其实我想给用户实时定义。另一方面,editText 有一个 TextWatcher。当 editText 的文本发生变化时,我必须从数据库中获取数据。您仍然认为使用数据库或使用数组列表是个好主意吗?请帮帮我。
    • 谢谢。您的想法已经实施并且运作良好。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-08-24
    • 2023-03-12
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    相关资源
    最近更新 更多