可以看看WebSettings的setCacheMode (int mode)方法

解决方案 »

  1.   

    有一定影响但不能保证100%不刷新
     LOAD_CACHE_ONLY  试了这个模式么?
      

  2.   

    有一定影响但不能保证100%不刷新
     LOAD_CACHE_ONLY  试了这个模式么?
    试了,还是会有刷新的情况
      

  3.   

    有一定影响但不能保证100%不刷新
     LOAD_CACHE_ONLY  试了这个模式么?
    试了,还是会有刷新的情况我试过,不会重新加载,是有一个刷新的动作,但是是从cache中加载的,并不会重新请求服务器
      

  4.   

    有一定影响但不能保证100%不刷新
     LOAD_CACHE_ONLY  试了这个模式么?
    试了,还是会有刷新的情况我试过,不会重新加载,是有一个刷新的动作,但是是从cache中加载的,并不会重新请求服务器
    有没有什么办法能把这个刷新的动作也去掉,就是保持页面离开时什么样 back回来还是什么样,因为有ajax调用会修改页面里的东西,如果有刷新的动作页面会有变化
      

  5.   

    页面有变化会导致,从代码上看:
        if (sameDocumentNavigation)
            loadSameDocumentItem(item);
        else
            loadDifferentDocumentItem(item, loadType);
    而loadDifferentDocumentItem函数
            switch (loadType) {
                case FrameLoadTypeReload:
                case FrameLoadTypeReloadFromOrigin:
                    request.setCachePolicy(ReloadIgnoringCacheData);
                    break;
                case FrameLoadTypeBack:
                case FrameLoadTypeBackWMLDeckNotAccessible:
                case FrameLoadTypeForward:
                case FrameLoadTypeIndexedBackForward:
                    // If the first load within a frame is a navigation within a back/forward list that was attached 
                    // without any of the items being loaded then we should use the default caching policy (<rdar://problem/8131355>).
                    if (m_stateMachine.committedFirstRealDocumentLoad() && !itemURL.protocolIs("https"))
                        request.setCachePolicy(ReturnCacheDataElseLoad);
                    break;
                case FrameLoadTypeStandard:
                case FrameLoadTypeRedirectWithLockedBackForwardList:
                    break;
                case FrameLoadTypeSame:
                default:
                    ASSERT_NOT_REACHED();
            }        action = NavigationAction(itemOriginalURL, loadType, false);
        }
        
        if (!addedExtraFields)
            addExtraFieldsToRequest(request, m_loadType, true, formData);    loadWithNavigationAction(request, action, false, loadType, 0);
    而最后一个函数 无论从不从cache拿数据 都会刷新
      

  6.   

    这是在哪个类里面的
    这个在webkit的loader目录一下的一个类里面 在android的系统架构的native层中
      

  7.   

    谢谢两位的解答,研究android自带的Browser发现他每次打开新链接都是new一个新的webview,所以回退时没人任何改变.
      

  8.   

    我也碰到了相同的问题,请问楼主解决了webview的这个问题了吗,能告诉怎么解决的吗