文档截图的一个思路:
(1)冻结视图的状态,停止一切js handler的执行,停止webkit timer;这里我们希望进一步remove掉一些fixed定位、设置了opacity的一些广告元素
(2)在java端维护一个状态机,将整个文档截图拆分为连续的多个屏幕截图;
(3)每次执行屏幕截图,然后,programmatically scroll webview,注意这里是一个异步回调序列,所以对应一个状态机;
(4)拼图,将屏幕截图的结果拼接为一个文档截图,理想情况下,希望支持任意scroll高度的html文档,这里也许需要实现一个特殊的image encoding算法
技术难点在(1)和(4)上。