项目问题:

在首页嵌套有四个Fragment,切换方式使用ViewPager,中间两个页面为WebView,相互切换时存在卡顿,频繁切换程序崩溃。

网上博客分析:

博客分类: Android关键词:Android WebView ViewPager Fragment标题:Android中用ViewPager和Fragment内嵌WebViewWebView很好很强大,但是在Android中加载慢啊。 在同一个Activity中,用ViewPager可以加载多个Fragment,切换视图比较流畅,但是如果超出了3个Fragment,而且刚好Fragment中有WebView,体验就非常糟糕,页面要好几秒才能显示出来。 这是因为ViewPager缺省情况下,只把当前页的前一页和后一页放在缓冲区中。如果超出了3个Fragment,那么切换到第4个时,第一个会被销毁,第4个需要重建。内嵌的WebView就要重新被加载。 如果Frragment不是很多的话,那可以设置ViewPager.setOffscreenPageLimit,增加缓冲页面,避免WebView被重建。例如有4页,可以设置setOffscreenPageLimit(3)。其实这个值指的是,当前view的左右两边的预加载的页面的个数。也就是说,如果这个值为3,那么任何一个页面的左边可以预加载3个页面,右边也可以加载3页面。巧的是,由于ViewPager可以预先加载和缓存fragment,避免了fragment中的WebView被无谓地刷新,体验反而更流畅了。如果WebView不在首页,那和原生开发的视图更没有太大区别。

解决方法:在 Activity_Main 初始化方法 init() 中加入代码:

// 增加缓冲页面,避免WebView被重建    main_viewpager.setOffscreenPageLimit(3);

更多相关文章

  1. Android开发之视图动画基础
  2. [置顶] 美团Android DEX自动拆包及动态加载简介
  3. android大图加载中的陷阱
  4. android动态加载apk
  5. 安卓加载模式(Android LauncherMode)
  6. Android LayoutInflater加载.xml文件原理分析
  7. Android加载本地网页

随机推荐

  1. Mac OS X 下部分Android手机无法连接adb
  2. Android的事件分发机制以及滑动冲突的解
  3. iOS程序员学习android之一
  4. Android设备上opencv开发:获得Camera数据
  5. android dialog省市区三级联动滚动选取效
  6. 【Android(安卓)开发】:UI控件之 AlertDia
  7. Android(安卓)APP性能及专项测试
  8. Android网络通讯原理解析
  9. Android组合控件实现功能强大的自定义控
  10. 一步一步学Android(安卓)ROM开发(一)——修