论文部分内容阅读
随着计算机技术的不断进步和信息资源的高速膨胀,数字阅读的需求迅速扩大,给作为电子文档载体的电子书带来良好的发展机遇。传统的图书业依赖实体店铺,纸质印刷,而现在只需要将书籍录入成相应的电子格式,并装入手机中,即可实现随身携带,随时阅读。电子图书格式种类繁多,实现标准化是一个很漫长的过程,再此过渡时期,可行的解决办法就是尽可能的适配多样化的电子书格式,从软件端屏蔽格式带来的差异。本课题需要对市面上主流的电子书格式进行探究、评估,设计与开发一款可以适配多种电子书格式的Android电子书应用软件。在开源的驱动下,诞生了很多的电子书内容解析的内核,不管从解析速度,解析质量上都是非常优秀的,但从格式的覆盖面上,只对部分格式有着很好的支持。本课题正是使用了取其精华,去其糟粕的做法,集各家所长,将尽可能在覆盖面和使用上取得很好的效果。本文经过细致的挑选,最终选定MuPDF和FBReader两款电子书解析内核,MuPDF对于PDF格式的解析效率很高,FBReader则是在文本类格式方面见长。在对MuPDF和FBReader内核代码的解析过程中发现,两款内核代码的逻辑较为复杂,两款内核框架代码总量加起来数万行,其中包括C、C++最核心的格式解析代码,上层视图渲染和业务逻辑Java代码。因此不适合对其做较大的重构整合,对两个开源内核的代码没有做破坏性的侵入编程,在保证原有功能和性能的完整的前提下进行修改和复用。并对该论文研究的需求进行了进一步的探讨和分析,根据使用者正常的阅读需求,对本软件的业务逻辑上进行了设计,将软件总结和划分为五大模块。同时在加载速度和运行速度上做了优化,对于列表的展示缓存机制,保证滑动期间不会重复创建视图对象,在阅读页面的视图同样采用了缓存机制,对视图内的属性和状态进行了封装,并以List的数据结构进行保存,保证来回滑动的流畅和稳定,对内存泄露的情况进行了优化,保证阅读期间的流畅运行和内存健康使用。通过探究MuPDF和FBreader的内核代码,将两者的内核进行整合和优化,实现代码无缝的融合并完成到搭载Android系统的移动智能终端的移植。