浏览器的开发技术手册..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浏览器的开发技术手册.

  浏览器加载 XML 网页时,能由网页中的 Script 内容自行作运算产生动态网页的效果,来减少服务器的 速度的限制   在非 PC 平台上,处理器的效能不若 PC 平台上强大。因此,微型浏览器的效能必须要被提升。就这方面来说,我们设计两个能够提升整体效能的方法: ● 以C语言实作核心: Rock Browser 是以 UML 的观点设计,因此在架构上是以对象导向为概念,但是在实作之初,考虑到对象导向语言在实作继承、多形和封装时,额外的机制会造成程序代码变大变慢,且在移植平台的语言支持上,C 语言是较常被支持的。因此决定以 C 语言来实作对象导向观念所设计的项目。这样不但可以制作快速而小的程序,同时也具备了较高的移植性。 ● 数组堆栈: 在微型浏览器中,数组堆栈是一个经常被使用的组件,因此这部分的效能会影响整个微型浏览器的效能。所谓的数组堆栈是指先配置一块内存,用来存放每次推入(push)和取出(pop)的数据,可是这样有个先天的缺点就是必须是固定长度的堆栈,若是超过堆栈的长度,程序就很可能出问题。所以我们使用 realloc 的方式来改善这个缺点。底下的程序代码是我们实作的原理,我们将每个堆栈的数据当成只有四个字节:   我们在开始处先判断堆栈的指针是否为真,若为空的,先配置一块预设大小的内存,下次再有数据需要推入时,我们会去检查他的大小,若是配置的内存超过他所能够推入的数据,那我们就利用 realloc 重新配置一块大小为两倍内存空间在同一个指针位置。观念很简单,主要的用意是要达成利用数组的方式实作堆栈,如此存取快速,又可以克服数组只能用在固定大小的堆栈,而取出数据时只需要将内存空间写成默认值,不需要将内存释放。我们测试效能之后,发现和一般利用动态配置内存串成堆栈的方式相比,存取 1000000 比数据快了将近有 40 倍之多。因篇幅有限,整套API实作程序代码的,也就不再详述。 可移植性   以可移植性而言,在微型浏览器的设计中,我们将微型浏览器中与平台相关的部分切割出来成为单一模块。当微型浏览器需要被移植到各种不同平台时,只要修改该模块即能移植至其它异质平台上来达到微型浏览器的高移植性,减少软件移植的时间。这些模块包括: ● 使用者接口方面: 微型浏览器所使用到的使用者界面会依据不同的窗口操作系统而被更动。如按钮键 (Button) 的产生等窗口组件的绘制,或是窗口组件的事件产生,都会随着不同的窗口操作系统而不同。因此在微型浏览器的设计中,为了高移植性需要将这部分的处理单一模块化。 ● 操作系统相关方面: 如 Thread、Socket、File 等跟系统相关的运作,通常这些操作会随着平台的操作系统不同而改变其使用方式或是行为的动作,因此这部分也需要单一模块化。 ● 工具接口方面: 像是 List、String 等常使用的公用工具,将它单一模块化除了为了移植性的考虑,也可独立出来供其它应用程序使用。 微型浏览器的架构   以下将为读者开始讲述我们独力开发的微型浏览器 Rock Browser。下图为微型浏览器的架构图: 图1:Rock Browser 架构图   我们将微型浏览器切割成五大模块,分别叙述如下: ● 可移植性 (Portable Interface) 模块 将跟系统平台有关的程序,切割成 Portable Interface 模块,以便微型浏览器能在最短时间能移植至异质平台上。因此这部分的模块程序多为与系统平台相关操作,包含了:GUI Interface、Thread Interface、Network Interface、Storage Interface、Utility Interface 等。 ● 使用者接口 (Browser main and User Interface) 模块 此模块主要负责与使用者间的互动讯息以及使用者接口的呈现与管理。这部分包含了 Skin Manager (管理浏览器的使用者接口的样式) 、Bookmark Manager (管理使用者所设定的 Bookmark) 、Browser User Interface (微型浏览器的使用者接口)、Browser Main (使用者的事件处理)等。 ● 核心(Browser Engine) 模块 此为微型浏览器的核心部分,主要用来处理与管理微型浏览器所接收到的 XML 网页。包含有:XML Tag 处理、CSS 的Style 处理、Script 的处理、网页图形处理,Layout Manager、Storage Manager、Parser、History Manager 等。 ● 网络 (Network Protocol) 模块 此为网络实际运作模块。如 HTTP,WAP 1.x 等通讯协议。 微型浏览器的运作方法   在介

文档评论(0)

jcc001 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档