【问题标题】:When does onNewPicture() get called?onNewPicture() 什么时候被调用?
【发布时间】:2011-07-26 22:40:59
【问题描述】:
onNewPicture() 的 documentation 仅表示:
通知听者该图片
变了
我的问题是:什么时候图片会改变?
我注意到有些网页生成了几十个onNewPicture(),所以很明显“图片”在WebView上渲染页面的过程中会发生多次变化。
是什么使 WebView 图片发生变化?
我还没有看到任何页面页面生成少于 2 次 onNewPicture() 调用,那么对于任何给定的 HTML 页面,onNewPicture() 是否保证被多次调用?
【问题讨论】:
标签:
android
webview
webviewclient
【解决方案1】:
PictureListener.onNewPicture() 会在已加载的页面完成渲染(或在某些事件使 WebKit 引擎重新计算页面布局的情况下重新渲染)时调用。这实际上取决于正在加载的页面:
一个简单的纯文本页面将只呈现一次。其他页面(尤其是 Javascript 繁重的页面)可以在页面完成加载后被多次调用。
@littleFluffyKitty 在another posting 中找到的提示:当今的许多网页会导致它在您在页面中移动时经常被调用,因此请确保onNewPicture() 方法中发生的任何事情都很快。