我整个晚上都被这个问题困住了。我有一个打开 google play 发布站点的 webview。我登录,它加载框架,然后卡在“加载”文本和进度圈图像(冻结)。它可以保持这种状态 2 分钟,然后显示一切正常。这是我的 HTC Desire 与 Oxygene 2.3.2 (Android 2.3.7)。同样在内置浏览器中也会发生同样的事情。我在大约 6 小时后发现了这一点。 当我在我的 Asus Transformaer Prime 上运行它时,它需要 1-2 秒才能显示,完全正常,2.2 的模拟器运行它就好了。我已经尝试改变很多东西,但我的欲望仍然停滞不前。我不知道 google play 网站有什么特别之处,以至于我的 android 版本无法处理。有类似经历的吗???
我的测试活动(为这篇文章弥补了这一点)。
public class HelloWorldActivity extends Activity {
public final static boolean debug = true;
public final static String TAG = "HELLOWORLD";
private WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String mURL = "https://play.google.com/apps/publish/Home";
mWebView = (WebView) findViewById(R.id.mywebview);
mWebView.setWebViewClient( new MyWebViewClient() );
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.loadUrl(mURL);
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if(debug)
Log.i(TAG,"onPageStarted("+url+")");
}
@Override
public void onPageFinished(WebView view, String url) {
if(debug)
Log.i(TAG,"onPageFinished("+url+")");
}
}
}
在 main.xml
<WebView
android:id="@+id/mywebview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</WebView>