【问题标题】:Faster media scanning algorithm for android更快的安卓媒体扫描算法
【发布时间】:2013-11-09 15:05:34
【问题描述】:

我正在工作 n 同时学习在 android 中编写代码
我遇到了这个媒体存储,它返回有关存储在卡上的所有 mp3 文件的所有详细信息(内部和外部)。
但是这个方法非常非常慢
我猜这就是在默认音乐应用程序中实现的内容
难怪它有时无法找出所有文件...

我正在考虑为此目的实现更快的搜索算法,但对这些算法的初始要求感到困惑
1:我想过实现二进制搜索方法(Divide n Conquer)来查找文件,但是该算法需要有关要扫描的文件数量的信息。我如何得到?
2:我曾想过为每个划分的集群实现单独的线程
。但是它真的会起作用吗?

请帮帮我!

最后一个问题:poweramp 到底是如何快速找出所有文件的,
我的 android 卡上有大约 200 首歌曲,但这个应用程序只需要几秒钟就可以将它们全部下载完!!
真的很疑惑!!

【问题讨论】:

    标签: android performance mediastore


    【解决方案1】:

    试试这个代码:

    去那里的下载和DCIM文件夹,你可以使用这个命令来获取所有文件,如果你想过滤文件,那么这里是link

     Process process = null;            
        try {
         process = Runtime.getRuntime().exec("ls -l");
    
    
        } catch (IOException ez) {
    
         ez.printStackTrace();
        }
        BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
    
        StringBuilder total = new StringBuilder();
        String line;
        try {
         while ((line = in.readLine()) != null) {
    
           System.out.println("line: "+line.toString());
             total.append(line);
         }
        } catch (IOException ex) {
    
         ex.printStackTrace();
        }
         System.out.println("Command Output: "+total.toString());
    

    【讨论】:

    • 谢谢阿里,我会试试这个并通知你结果!
    • 是什么让您说返回媒体存储详细信息很慢。选择所有音乐时,光标立即返回。显示需要时间,尤其是在添加专辑封面的情况下。我发现 Rocha 先生的冰沙图书馆真是天赐之物。特别是如果你正在学习编码,我的建议是在网上搜索(我发现 Stackoverflow 和 Vogella 最有用。)。我也在学习并且可以使用我的应用程序来管理播放列表。搜索 THEOKLINK 的播放列表管理器,您会发现所有音乐细节都以非常高性能的方式呈现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多