Skip to content

Latest commit

 

History

History
10 lines (5 loc) · 1.45 KB

gvfsgio.md

File metadata and controls

10 lines (5 loc) · 1.45 KB

GVFS/GIO

看完上一章的内容,相信大家普遍都会感觉有点晕,其实原因就是因为我们讲的内容太飘了,没有落到底层,全部都是顶层的框架,其实这些框架都只是为了ui交互而设计的。我们可以学习它们,但是也不能盲从于前人的思路。

在深究文件管理器时,很容易扎到代码的海洋里迷失自己,我在之前曾经写过一片文档《文件管理器——文件系统与view同步》专门从底层到顶层的分析了从窗口拉起到文件视图获取数据并显示的流程,现在回顾一下给我的感觉是——又长又乱。我不想再分析一遍这样的流程了,相信大家也不愿意去听。不过在分析的过程中我确实找到了其中的关键线索,虽然花费的时间和精力都过于不划算。

其实只要知道文件管理器的根源何在,就能抓住研究整个框架和流程的线索,甚至建立自己的交互框架。我们知道文件管理器的本职工作无外乎是对文件的浏览、查看、打开、和增删改,这些都离不开底层io的支持。对于gtk阵营的文件管理器,它的底层就是gvfs/gio,我写过一篇文档《gio文档I》简要的介绍了一下几个常用的gio api,结合本章的内容相信大家应该会对gvfs和gio的运用有一个比较深刻的了解。

回到正题,我写了五个典型的demo用于充实这一章的内容,下面我们一起来实践一下。