Mat*_*t.Z -2 filesystems notifications ios
我希望我的应用程序知道磁盘可用空间何时更改并更新我的视图.系统是否发送了任何通知?
稍微偏离主题......但感觉不得不写这个.
想一想.有许多问题使得知道"可用"或"使用"空间是一个相当强烈的临时/时间点快照,因此更适合于被查询而不是被通知.
文件系统(和/或数据库)是"磁盘"之上的抽象层(为了这个帖子,我们称之为"存储设备","磁盘").这尤其意味着,假设如下:
是不正确.
那是因为文件系统可以自由地实现以下技术:
此外,虽然文件大小是字节精确的,但磁盘分配是以较大的数量(块/扇区/条带/ ...)进行管理的.
因此,文件系统可以向应用程序世界提供完全静态的(从查看哪些文件和目录可见及其包含的内容)视图,例如运行在线重复数据删除/压缩/碎片整理/ ...作为后台活动的工作' ll不断更改"磁盘空间使用"统计信息,与存储和/或CPU功率允许的速度一样快.
现代文件系统(例如,许多基于闪存的存储运行)经常实现上述技术的重要子集,因此它们是否会实现一个接口,该接口将通知 "可分配磁盘空间"中的每个更改,而不是仅报告可能无意义的数据,但由于其"正常"操作可能导致大量此类通知而导致显着的性能损失.
人机工程学:
不要指望得到通知.轮询此信息 - 以合理的间隔明确查询它.不要受CPU限制,特别是不要在移动设备上,并期望"令人惊讶"的结果,即没有任何明显的用户操作的变化以及用户操作发生时没有变化.把你检索到的数据用一粒盐取出来,不要从中得出太多结论.那是你的现代文件系统......
| 归档时间: |
|
| 查看次数: |
1410 次 |
| 最近记录: |