sha*_*ver 6 performance android webview android-webview
我正在寻找一种方法来记录嵌入式webview所做的请求和开始/结束时间.到目前为止,除了生根电话和运行tcpdump之外,我无法找到办法.这对我有用,但我需要在现场运行,所以这不是真的可行.有很多方法可以记录URL和开始时间,但我看不到完成(或奖励,完整的响应元数据).
如果我可以包装当前请求,那么shouldLoadResource可以工作,但是我必须自己使用HTTP支持来获取它以便整体返回它,因为没有足够的API暴露给完全转发到内部请求.(我不想出于多种原因这样做,包括设备上的webview不使用与HTTP类相同的网络堆栈,因为它会改变子资源的时间.)
我一直试图找到打开chromium_net调试标志的方法来做到这一点,但我无法弄清楚如何在WebView或系统属性的上下文中这样做.
我真的不想运送我自己的webcore来做这件事,但如果需要必须......
在这种情况下,您还可以添加 WebViewClient(请参阅http://developer.android.com/reference/android/webkit/WebViewClient.html)。这看起来像
WebView webView.setWebViewClient(new MyWebViewClient());
.
.
.
public class MyWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// Note time
// Return false to say we want the WebView to handle the url.
return false;
}
@Override
public void onPageFinished (WebView view, String url)
{
super.onPageFinished(view, url);
// Note time
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,shouldOverrideUrlLoading 和 onPageFinished 仅针对主框架调用 - 它们不会针对 iframe 或框架集调用。但这应该可以满足您的需要。
| 归档时间: |
|
| 查看次数: |
1332 次 |
| 最近记录: |