Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在安卓系统中加载AMP(加速移动页面)网页时,我们是否需要更改普通网页加载器中的任何内容?_Java_Php_Android_Html_Amp Html - Fatal编程技术网

Java 在安卓系统中加载AMP(加速移动页面)网页时,我们是否需要更改普通网页加载器中的任何内容?

Java 在安卓系统中加载AMP(加速移动页面)网页时,我们是否需要更改普通网页加载器中的任何内容?,java,php,android,html,amp-html,Java,Php,Android,Html,Amp Html,这是我的代码: import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Main extends Activity { private WebView mWebview; @Override public void onCreate(Bundle savedInstanceState) { super.on

这是我的代码:

import android.app.Activity; 
import android.os.Bundle;
import android.webkit.WebView;

public class Main extends Activity { 
    private WebView mWebview; 
    @Override
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 

        mWebview = new WebView(this);
        mWebview.loadUrl("https://ampbyexample.com/");
        setContentView(mWebview); 
    } 
}
但是,它不像通常那样快速加载AMP网页。它的负荷像一个普通的网页


此代码是否需要任何更改。

最重要的是启用javascript—AMP运行时需要javascript才能工作。但是,您还可以做一些事情来改进Android网络视图中AMP页面的加载:

...

WebSettings webViewSettings = webView.getSettings();

// Important: enable javascript
webViewSettings.setJavaScriptEnabled(true);

webViewSettings.setCacheMode(WebSettings.LOAD_DEFAULT);


// enable 3P cookies (important when loading AMP pages via a cache)
CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
          && !cookieManager.acceptCookie()) {
  cookieManager.setAcceptThirdPartyCookies(mWebView, true);
}

// enable local storage
webViewSettings.setDomStorageEnabled(
webViewSettings.setDatabaseEnabled(
if (Build.VERSION.SDK_INT < 
  webViewSettings.setDatabasePath("/data/data/" + mActivity.getPackageName() + "/");
}

// set the referrer to your app
Map<String, String> extraHeaders = new HashMap<>();
extraHeaders.put("Referer", 
    Intent.URI_ANDROID_APP_SCHEME + "//" + context.getPackageName());

webView.loadUrl(url, extraHeaders);
。。。
WebSettings webViewSettings=webView.getSettings();
//重要提示:启用javascript
webViewSettings.setJavaScriptEnabled(true);
webViewSettings.setCacheMode(WebSettings.LOAD_默认值);
//启用3P Cookie(通过缓存加载AMP页面时很重要)
CookieManager CookieManager=CookieManager.getInstance();
如果(Build.VERSION.SDK\u INT>=Build.VERSION\u code.LOLLIPOP
&&!cookieManager.acceptCookie()){
cookieManager.setAcceptThirdPartyCookies(mWebView,true);
}
//启用本地存储
webViewSettings.setDomStorageEnabled(
webViewSettings.setDatabaseEnabled(
如果(Build.VERSION.SDK_INT)
webViewSettings.setDatabasePath(“/data/data/”+mActivity.getPackageName()+“/”);
}
//将推荐人设置为你的应用程序
Map extraHeaders=newhashmap();
extraHeaders.put(“Referer”,
Intent.URI_ANDROID_APP_SCHEME+“/”+context.getPackageName());
loadUrl(url,extraHeader);
最后,您可以通过AMP缓存加载AMP页面,该缓存在加载AMP页面时执行其他优化(请参阅如何构建URL)

请注意:缓存将只加载有效的安培数