如果我在
为了测试这个问题,在
但是,在带有Gingerbread的Nexus S和带有Ice Cream Sandwich的Galaxy Nexus上,只有在滚动停止时,颜色才会更新。
但是,在具有Honeycomb的Xoom上,颜色在滚动时不断更新。这是期望的结果。
有什么想法可以解决其他设备上的不同之处,并如何强制WebView在滚动时更新自身,就像Xoom一样?
谢谢!
更多信息:仅需注意,javascript在滚动过程中接收和执行,但显示这些更改的图片直到滚动结束才出现。例如,如果您调用的javascript是“console.log('rawr');”,则日志将在滚动时出现。 在源代码中发现了一些内容,有一个名为
WebView
上运行一些javascript,而在手指滑动屏幕时,视图不会随着新的外观更新,直到手指离开设备并停止滚动。为了测试这个问题,在
WebView
中重写 onScroll
,并在那里调用一些javascript来更改页面的背景颜色。当页面滚动时,这将被不断调用。因此,当您滚动时,它应该快速闪烁不同的颜色。但是,在带有Gingerbread的Nexus S和带有Ice Cream Sandwich的Galaxy Nexus上,只有在滚动停止时,颜色才会更新。
但是,在具有Honeycomb的Xoom上,颜色在滚动时不断更新。这是期望的结果。
有什么想法可以解决其他设备上的不同之处,并如何强制WebView在滚动时更新自身,就像Xoom一样?
谢谢!
更多信息:仅需注意,javascript在滚动过程中接收和执行,但显示这些更改的图片直到滚动结束才出现。例如,如果您调用的javascript是“console.log('rawr');”,则日志将在滚动时出现。 在源代码中发现了一些内容,有一个名为
WebView
的方法 startDrag() 调用了 WebViewCore.pauseUpdatePicture(mWebViewCore) 方法,在滚动时禁止图片更新。在 3.0 版本中,他们引入了 WebSetting setEnabledSmoothTransition(),可以在 4.0 代码中看到,允许您禁用暂停。然而,这仅适用于 3.0 及更高版本,这意味着野外设备中少于 3% 的设备可以使用。到目前为止,我没有看到任何在 3.0 版本之前的设备上解决此问题的方法..... :(