安卓文件搜索为什么这么慢

兄弟姐妹哪位知道,安卓文件搜索为什么这么慢
最新回答
最初

2024-04-27 16:01:58

首先,在Android中用java递归去搜索文件肯定是非常慢的,因为java的File类携带了大量的冗余信息,而这些是我们不关心的。那我们何不如直接去linux底层拿到文件信息呢。
可是我怎么去拿呢?NDK【Native Development Kit】,拿到底层的文件名称和路径。
不推荐递归方式去拿,而是广度优先非递归的实现会更快一点。然后在拿到文件名称以后你就可以去做匹配了,也可以把所有的文件全部放到集合里抛到Java去处理。可以使用正则表达式去匹配。如果只是类型搜索,也就是后缀搜索,推荐用前缀树去做。

我做了一个搜索安卓sdcard下所有的照片的demo,测试ndk的速度大概是java的40倍