【问题标题】:Optimize Tag based search in Android recyclerView with 1k+ items.使用 1k+ 项优化 Android recyclerView 中基于标签的搜索。
【发布时间】:2017-05-27 09:15:35
【问题描述】:

我的 Android 应用程序有一个 recyclerView 卡片形式的 1500-1700 个项目,每个卡片代表一些文本数据。每张卡片上都有特定的标签 [例如] #2016 #India #blue #music 等。卡片可以有多个标签。

我想向这个 recyclerView 添加一个基于标签的搜索。例如,当搜索“2016 年音乐”时,它应该只显示同时具有“2016 年”和“音乐”这两个标签的卡片。

我能想到的是,每当将标签添加到搜索栏时,我都会浏览所有项目并删除所有没有该后续标签的卡片。但是每次在搜索栏中添加标签时扫描 1500 个项目必须消耗大量时间。

在带有太多项目的recyclerViews 中实现基于标签的搜索的最佳方法是什么?

【问题讨论】:

    标签: android search optimization tags android-recyclerview


    【解决方案1】:

    我能想到的是,每当一个标签被添加到搜索栏时,我都会遍历所有项目并删除所有没有该标签的卡片

    这绝对是一个糟糕的方法。理想的方法是更新适配器。即当用户搜索TAG 时,使用Loader 从您的内容提供者检索数据,并更新adater 的数据并调用notifyDataSetChanged()

    • 现在这个问题还有其他方面,例如以最快的方式使用哪些数据存储选项,例如(mysql、realm 等)。您应该根据您的数据大小和其他因素选择哪个,如果您在研究后没有找到太多信息(机会很少),则应该作为不同的问题提出。

    提示

    在构建这样的项目时,最好遵循架构,最好是MVCMVP,这将使开发和调试变得容易,也将使数据流完美。

    下面提供了有关MVCMVP 的更多信息的链接。选择最适合您要求的。希望对您有所帮助。

    【讨论】:

    • 我不知道装载机。现在清楚了。出于存储目的,我正在考虑使用 JSON。在答案中阅读您的更多链接..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2015-01-21
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    相关资源
    最近更新 更多