我正在开发一个应用程序,用于索引 sql数据库
中设备上所有文件的路径稍后我将使用该数据库进行快速搜索
到目前为止,我正在使用apache's common-io库来获取SD卡中的所有文件和目录
Collection<File> sdCardFiles = org.apache.commons.io.FileUtils.listFilesAndDirs(new File(sdCard),
new RegexFileFilter(".*"),
TrueFileFilter.TRUE);
然后将它们插入数据库
List<String> temp = new ArrayList<>();
for (File file : sdCardFiles) {
temp.add(file.getPath());
if (temp.size() > 10) {
db.insertBunch(temp);
temp.clear();
}
}
}
1.还有另一种方法可以减少使用Cpu,Ram和Time吗?
2.大多数文件都有相同的父目录,所以我们可以在这种情况下使用像Trie这样的东西吗?
3.如何通过MediaStore
?
我在三星J7 prime上测试了这个代码,它消耗了15mb Ram和5%cpu(最高级别)来索引大约40,000个文件