2

我遇到了一种可以解决的情况,但正在寻找更好的方法。这是:

  • 我在 Android 设备中有 8,000 多首歌曲。也就是说,Android 的 Audio.Media 有 8,000+ 行。
  • 也就是说,我有一个包含 2,000 个路径的数组,我需要在数据库中查询对应文件的其他列。

现在我用resolver.query(URI, "_data IN (?,?,?........,?)", selectionArgs, null);

但如果?600 或更多,查询将失败,因为 WHERE 子句变得太长。

所以我把2000条路径分成四部分,分别查询并将需要的信息保存在其他地方。通过四次查询,我可以得到结果。但这会消耗大量内存,如果我可以通过一个查询来完成,它会比4快。

有没有人有更好的方法来做到这一点?谢谢!

4

0 回答 0