Android中使用PDF库 后序

如前篇所叙-

http://blog.csdn.net/l1987d1m23/article/details/6756065

 

真机测试,sun的纯java的库存在诸多问题,font找不到匹配的,文字图片锯齿太明显,性能太低等等。

 

莫奈何,重回C中找寻答案,开源的C的pdf库,多以mu为核心,其中找到一个一直在更新的APV的项目,该项目一直跟着mu的更新在进行。

选中后,下载了该项目的apk试了一下,性能果然不是java能比的,而且字体的问题也解决了。遂下载源码进行编译,但是免费的东西不见得都好吃。虽然我下的是同版本的源码,但是编译起来可一点也省心。首先,源码中的脚本存在明显的错误,路径和文件名根本找不到。其次,在源码中存在没声明的结构体,通篇找了一下源码,应该是版本更新导致的不一致的问题,找到了替代的结构体,重新编译。终于编出so的文件了,注我用的的win7+cygwin的环境ndk r6工具链。

 

以后的工作顺利了不少,读源码,从中将pdf渲染部分抽出一个view。改参数,将cache调大,保证阅读时的流畅。一切就绪,嵌入原程序,简单调试后,成功运行。

 

又遇到一个小问题,pdf中的图表无法正常显示,查看了java部分的代码,应该没什么大问题。估计是C部分的问题,编译的时候没有报错,没有warning,一时也找不到好的办法解决,想了一个临时的方案,从release的apk中抽取so文件,替换了一下,一切正常了。(投机取巧的办法,不建议效仿)

 

总结一下,apv中使用的是mu的内核性能在android平台中应该算是上品了,但是在平板中,由于我默认以最大化显示的方式,对于cpu的压力还是很大,虽然将cache的大小设置为50M,保证了代码中smartcache不频繁的回收,但是render时候对于cpu的压力还是很大,如果纯文字的话还好说,纯图片的话需要一定时间的延迟,可以在稍后让其先加载完毕再允许拖动。

你可能感兴趣的:(Android)