android文件管理器——文件检索

来源:互联网 发布:超星阅读器 mac 编辑:程序博客网 时间:2024/06/05 03:30

问题:

    对于本地文件的分类搜索(就是把音乐、视频、图片、文档、压缩包、应用分类整理出来)用 for 循环遍历,太过耗时,如果能有一种更好的思路就好了。

尝试了解(先了解下文件检索是什么鬼):

  1. 搜索引擎

    针对网站进行的搜索 (与我们的本地搜索需求不符)

  2. 本地搜索

    针对网站进行的搜索 (与我们的本地搜索需求不符)

  3. Everything

    Everything是一款文件、文件夹名称快速搜索软件。在搜索之前就会把所用的文件和文件夹都列出来,这一点与Windows自带的搜索系统不一样,所以称之Everything。在搜索框输入文字,它就会只显示过滤后的文件和目录。
    【ps:或许有值得借鉴的地方】
    先百度下
    Everything研究之读取NTFS下的USN日志文件(1)
    NTFS文件系统USN日志
    就是说在NTFS这种文件系统下对每一个文件的操作都是有记录的,Everything通过解析这个记录帮助用户迅捷的得到所需内容
    也就是说如果Android所依赖的Linux也存在类似的功能那就爽了,

尝试解决

  1. 沿着Everything的实现思路:
    Linux文件系统
    现摘录如下
    文件系统
    在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。(类比于微机磁盘分区)。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。
    引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块;inode区(索引节点):一个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。
    这说明有戏啊O(∩_∩)O~~,

    A. 列表内容
    尝试了解android系统所运行的 linux 版本 【Linux内核版本信息获取】

    尝试了解log没有成功,决定试一下反编译,看看他怎么实现的快速搜索。

0 0
原创粉丝点击