gpt4 book ai didi

android - 日志 DEV_ACTION_COMPLETED 似乎在 Android 上延迟执行

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:00:23 24 4
gpt4 key购买 nike

我最近注意到我的应用偶尔会出现 LAG。所谓 LAG,我的意思是最多可能需要 40 秒,具体取决于我使用的是 Wifi 还是移动数据...

我加载一个页面url,然后加载js执行:

    webView = (WebView) view.findViewById(R.id.WebView);

webView.setWebViewClient(new WebViewClient() {

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
logDebug("Loading URL: " + url);
super.onPageStarted(view, url, favicon);
}

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return WrappingClass.this.shouldOverrideUrlLoading(view, url);
}

@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
logInfo("loading JavaScript to webview.");
webView.loadUrl("full-js-here");

}

@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
logError("error code:" + errorCode);
super.onReceivedError(view, errorCode, description, failingUrl);
}
});

WebSettings webSettings = webView.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webView.requestFocus(View.FOCUS_DOWN);
webView.loadUrl("url");

调用加载 url 后,页面显示在 web View 中,UI 是响应式的,我可以点击按钮,返回,并导航应用程序...

但是

我尝试运行的脚本没有执行,直到 DEV_ACTION_COMPLETED 被打印到日志中,然后一切恢复正常,调用 onPageFinished 并立即运行脚本。问题是这最多可能需要 40 秒。

== 更新 ==

似乎延迟在增长到某个点,之后延迟缩短为零并再次增长...就像一个序列:0,1,2,4,8,16,32 ...然后从0开始。

可能是因为我在太短的时间内使用 webview 创建了新 Activity ?

有什么想法吗?

最佳答案

我们已经设法为这个糟糕的问题草拟了一个解决方案...无论我尝试了什么,我都找不到这个问题的 Java 解决方案,但我们确实找到了 HTML + JavaScript 的解决方案:

我们不等待 java 的 onPageFinish,而是注入(inject)一个 java 脚本来监听 window.onLoad 事件...

然后我们注入(inject)我们实际的 JavaScript... 就像一个魅力...

For more details.

关于android - 日志 <GATE-M>DEV_ACTION_COMPLETED</GATE-M> 似乎在 Android 上延迟执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17995739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com