最近有个任务需要在安卓webview实现截长图功能,找了网上的资料很多都是在webview当前页面底部或者顶部有广告的情况下,多次截取拼接会导致每个页面的都会重复出现广告内容,拼接的长图并不是完美的长图,而官方的在android5.0及以上版本使用webView进行截长图时,默认是截取可是区域内的内容,需要设置WebView.enableSlowWholeDocumentDraw();, 而这个方法会增加性能损耗,在webview加载的内容特别多的时候会存在内存溢出的风险,所以最终决定的方案是滚动进行截屏,并把多次截取的图拼接成长图,并且可通过scrollStartY和scrollEndY控制第二页到倒数第二页截的位置,这样就不会导致每次截图都会把广告截取上来
代码如下: