在我的小文件浏览器应用程序中,我显示每个目录中的子元素数量,如:
要设置这些数字,我会从我的AsyncTask
的{{1}}方法启动ListView
(因此Adapter
不会得到“滞后”)列表中的每个项目。但是,当查看具有大量子目录和文件的某些系统目录(例如“/”)时,垃圾收集器会变得疯狂并且性能显着下降(我的getView()
的多个实例仍然保留在内存中,即使在应用程序完成)。
我很确定这与我如何实现子目录和子文件检查我在AsyncTask
内部进行的操作有关,但以下递归方法是我唯一能想到的:
AsyncTask
问题:有没有其他方法可以获得比上面发布的方法更快的子目录和文件数量?
答案 0 :(得分:0)
你可以做你所建议的here,这实际上与你正在做的相同,但稍微简洁一点(如果你不介意我这么说)。显然你必须为文件和目录做这件事。我相信Java 7提供了一种更好的方法来实现这一点,但遗憾的是,目前您只能使用Android进行Java 6。