【发布时间】:2012-04-21 22:09:52
【问题描述】:
我整个晚上都被这个问题困住了。我有一个打开 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>
【问题讨论】:
-
“在内置浏览器中也会发生同样的事情。”如果连安卓的浏览器都卡住了,我怀疑我们能做些什么。
-
我也得出了这个结论,ceejayoz。我还问是否有人有类似的经历(也许,只是也许,有一种解决方法)。我对此表示怀疑,但我必须问。也许它是特定于rom的。问题是,我有一个包含这个 webview 的应用程序,还有一个关于它不起作用的投诉,所以这就是我开始调查这个的原因。我并不孤单。抱怨的人有一台装有 Android 2.3.5 的摩托罗拉 droid 4。