Enhance webView performance (should be the same performance as native Web Browser)

I finally got the reason of android webview bad performance issue.
Notice the image below… It used 12 seconds from OnPageStarted to OnPageFinished. Because it should load CSS,javascript and … AJAX…

the debug window:

I notice that JQuery and JQueryMobile need load all DOM struct in Html.So if I lazy load the javascript after OnPageFinished,it should show page faster.

First use setTimeout instead of $(document).ready(function() {}); in JQuery.Then use lazyload javascript file.

The final html and javascript is:

<script src="https://stackoverflow.com/css/j/lazyload-min.js" type="text/javascript"></script>

        <script type="text/javascript" charset="utf-8"> 

       loadComplete(){

          //instead of $(document).ready(function() {});

       }

        function loadscript()

        {

LazyLoad.loadOnce([

 '/css/j/jquery-1.6.2.min.js',

 '/css/j/flow/jquery.flow.1.1.min.js',  

 '/css/j/min.js?v=2011100852'

], loadComplete);

        }

        setTimeout(loadscript,10);

        </script>

You can find lazyload-min.js in http://wonko.com/post/painless_javascript_lazy_loading_with_lazyload

After do that,you can see the log image below:

after change the javascript

Now, it only takes 2 seconds from OnPageStarted to OnPageFinished.

I posted the article at https://wenzhang.baidu.com/page/view?key=22fe27eabff3251f-1426227431

But it was written in Chinese:)

Leave a Comment