0

我正在开发一个在线杂志应用程序。它从服务器下载 50 到 100 个 html5 文件并将其存储在 sd 卡上,并将这些 html5 文件显示为杂志页面。我已经使用画廊小部件来加载 html 页面,它按我的要求工作。

但是一些问题,如在画廊中加载 html 似乎很慢,并且在滑动页面时页面移动如此缓慢仍然存在。我的代码如下

    public View getView(int position, View convertview, ViewGroup parent) {

    try{
    vi = convertview;
    final int loctn = position;


    if (convertview == null)
        vi = inflater.inflate(R.layout.contentsadapter, null);
        WebView webview=(WebView)vi.findViewById(R.id.webView1);


        webview.getSettings().setJavaScriptEnabled(true);

        webview.loadUrl(pages.get(loctn));

        webview.setWebViewClient(new WebViewClient() {

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

            @Override
            public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
                if ((event.getKeyCode() == KeyEvent.KEYCODE_BACK)
                        && view.canGoBack()) {
                    view.goBack();
                    return true;
                }

                return super.shouldOverrideKeyEvent(view, event);
            }

            public void onReceivedError(WebView view, int errorCode,
                    String description, String failingUrl) {

                /*Intent intent = new Intent(Femi9Activity.this,
                        SplashScreen.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                Femi9Activity.this.startActivity(intent);*/
            }
        });
webview.getSettings().setDomStorageEnabled(true);

    // Set cache size to 8 mb by default. should be more than enough
    webview.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);

    webview.getSettings().setAllowFileAccess(true);
    webview.getSettings().setAppCacheEnabled(true);



    webview.setOnTouchListener(new OnTouchListener(){

        public boolean onTouch(View v, MotionEvent event) {
            gallery.onTouchEvent(event);
            return false;
        }

    });
        }catch(Exception e){

          }finally{

                }
    return vi;
            }

          }

所以问题是

  1. 如何提高 HTML 加载速度。
  2. 我可以在当前页面上加载上一页和下一页 html
  3. 有没有更好的方法来做到这一点而不使用画廊
4

1 回答 1

1

您可以使用ViewPager而不是Gallery.

于 2013-03-19T06:55:41.183 回答