我正在使用最新&最好的Android Studio版本:
Android Studio Flamingo | 2022.2.1
Build #AI-222.4459.24.2221.9862592, built on March 31, 2023
Runtime version: 17.0.6+0-b2043.56-9586694 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
到目前为止,它运行得很好,但是当我试图检查https://developer.android.com/studio/debug/network-profiler中描述的流量细节时,我在Network Inspector
窗口中看到了一个emptyConnection View
标签:
在配置和操作方面,我可能错过了一些微不足道的东西:我需要做什么才能查看formal documentation中所示的填充Connection View
行?
注:正式文件规定
目前,Network Inspector仅支持用于网络连接的HttpsURLConnection
和OkHttp
库。如果您的应用使用其他网络连接库,您可能无法在网络检查器中查看网络活动。”
如何判断WebView.loadUrl()是否使用HttpsURLConnection
和/或OkHttp
?
**更新:**偶然,我设法在Network Inspector上“捕捉到一个光点”,因为我的代码中使用了HttpURLConnection:
HttpURLConnection httpConnection = null;
try {
URL testurl = new URL("https://www.google.com");
URLConnection connection = testurl.openConnection();
connection.setConnectTimeout(5 * 1000);
httpConnection = (HttpURLConnection) connection;
int responseCode = httpConnection.getResponseCode();
...
}
连接视图显示该请求沿着关联数据(根据需要):
所以,我现在的两个问题是:
1.如何判断WebView.loadUrl()是否使用HttpsURLConnection
和/或OkHttp
?
1.为了查看WebView.loadUrl()填充的Connection View
行,我需要做什么?
1条答案
按热度按时间lx0bsm1f1#
This older answer似乎是我目前发现的最好的,Webview“使用Chrome网络堆栈的快照,或者对于HC前设备使用WebKit网络堆栈。”
This answer提供了强制使用OkHttp作为实际网络栈和
shouldInterceptRequest
的方法。看Michalsx的回答。从this article开始,Webview上的问题也不容易,因为Webview不断被Google改变。
WebView的早期版本被集成为核心操作系统的一部分。随着Android 5.0的发布,Google将WebView与核心操作系统分离。Google将WebView与Google Chrome合并,分别发布7.0、8.0和9.0版本。在Android 10.0中,它又回到了将其作为一个单独的组件。
从Developer - Managing WebView objects“从Android 7.0(API级别24)开始,用户可以在几个不同的包中选择,用于在WebView对象中显示Web内容...使用特定包的WebView实现来显示Web内容。