FBReader源码分析(三)启动到渲染流程

nil  2012年06月13日 星期三 12:35 | 2939次浏览 | 0条评论

FBReader代码及其庞大,要从这些错综复杂的关系中找到它们的联系,就得把握某些关键的节点。虽然我是刚毕业不久的、涉世未深的初级程序员,但总觉得如果要分析一个复杂系统的源代码,就得先好好体验这个软件。把一些功能玩熟悉了,玩透了,先对它的运行结果有一个比较全面的了解。接下来就猜它大概是怎么实现的,然后才开始从代码的角度去分析它。

(原文可以到http://www.docin.com/p-421265393.html查看)

 一、简单概述


       FBReader代码及其庞大,要从这些错综复杂的关系中找到它们的联系,就得把握某些关键的节点。虽然我是刚毕业不久的、涉世未深的初级程序员,但总觉得如果要分析一个复杂系统的源代码,就得先好好体验这个软件。把一些功能玩熟悉了,玩透了,先对它的运行结果有一个比较全面的了解。接下来就猜它大概是怎么实现的,然后才开始从代码的角度去分析它。
      复杂的项目,几乎总能简化出一个精要的简单项目。FBReader也是如此,它对应的简单项目其实就是网络上各种txt阅读器,虽说这些txt阅读器代码量和复杂度与FBReader相比可谓相形见绌,但是它们麻雀虽小,五脏俱全。从文件打开,然后到生成内容数据,然后到渲染,这个过程它们与FBReader没有任何区别。那为何FBReader的项目如此庞大?猜想一下。

      其中原因简单可以归纳:
      1.FBReader在文件打开之前,对文件做了一些事情,比如检测它们的编码、计算文件大小、保存文件路径等一系列与电子书有关的信息。
      2.生成数据的时候,会把各种格式的数据生成为自己需要的结构(比较复杂的点),然后保存到本地,缓存。
      3.渲染阅读界面,这里会根据FBReader所生成的结构渲染界面。其中会配合各种装饰类,以及高亮,文字大小等属性。
     
     既然它和简单的txt阅读器的精髓保持一致,那么分析它心里就有点谱了!

(省略。。。因为图片太多,童鞋们可以到http://www.docin.com/p-421265393.html)

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !

暂时没有评论

Zeuux © 2024

京ICP备05028076号