我想首先从最早的文件目录成员排序(通过比较器,使用此example升序),然后将数组转换为ArrayList以获取其迭代器,然后我们的目录文件大小仍然高于最大文件大小,我仍然有文件要迭代,我删除旧文件,直到我打破那个while循环.有没有更有效的方法来实现这一目标?
解决方法 你的瓶颈很可能是文件系统 *** 作(即:读取目录内容和删除文件),而不是内存 *** 作,所以你可能不应该担心后者的效率,只要你不要做一些非常低效的事情.你描述的粗略算法听起来不错.您只需执行以下 *** 作即可避免ArrayList转换:
for (Pair pair : pairs) { if (totalSize <= maxSize) { break; } totalSize -= pair.f.length(); pair.f.delete();}总结
以上是内存溢出为你收集整理的android – 删除目录中最旧的文件,直到它在某个文件大小之下全部内容,希望文章能够帮你解决android – 删除目录中最旧的文件,直到它在某个文件大小之下所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)