Ext管理器

//用于解决内存问题,检查Ext状态的几个方法:  
   //统计新增组件  
   function countAddComs() {  
       var items = Ext.ComponentMgr.all.items;  
       var comIds = window.extComIds = window.extComIds || {};  
       for (var i = 0; i < items.length; i++)  
       {  
           comIds[items[i].id] = (comIds[items[i].id] || 0) + 1;  
       }  
       var result = [];  
       var adds = [];  
       for (var key in comIds)  
       {  
           if (comIds[key] >= 1)  
           {  
               result.push(key + "=" + comIds[key]);  
               if (comIds[key] == 1) {  
                   //显示新增的组件  
                   //console.log(Ext.getCmp(key)) //firefox+firebug下可用这句查看组件详细的信息  
                   adds.push(Ext.getCmp(key).ctype + " " + Ext.getCmp(key).getXType() + " " + Ext.getCmp(key).text)  
               }  
           }  
       }  
       alert(adds.join(","));  
       alert(result.join(", "));  
   }  
     
     
     
     
     
     
   //统计各全局组件管理器数量  
   function count() {  
       var result = [];  
       var count = 0;  
       var x = Ext.menu.MenuMgr.menus;  
       if (x) {  
           for (var key in x)  
           {  
               count++;  
           }  
           result.push("menus = " + count);  
       }  
     
       count = 0;  
       x = Ext.dd.ScrollManager.els;  
       if (x) {  
           for (var key in x)  
           {  
               count++;  
           }  
           result.push("scrolls = " + count);  
       }  
       count = 0;  
       x = Ext.dd.DragDropMgr.ids;  
       if (x) {  
           var keys = "";  
           for (var key in x)  
           {  
               count++;  
           }  
           result.push("dragdrop = " + count + " " + keys);  
     
       }  
       x = Ext.ButtonToggleMgr.groups;  
       if (x) {  
           for (var key in x)  
           {  
               count++;  
           }  
           result.push("butontoggle = " + count);  
       }  
       result.push("comp = " + Ext.ComponentMgr.all.length)  
       result.push("store = " + Ext.StoreMgr.length)  
       if (Ext.util.TaskRunner.tasks)  
       {  
           result.push("tasks = " + Ext.util.TaskRunner.tasks.length)  
       }  
       alert(result.join("\n"));  
   }  
     
     
     
     
     
     
   //统计Elements和事件数量  
   function countElmentsAndEvents() {  
       //统计  
       var elementCacheCouunt = 0;  
       for (var key in Ext.Element.cache)  
       {  
           elementCacheCouunt++;  
       }  
       var _flyweightsCount = 0;  
       for (var key in Ext.Element._flyweights)  
       {  
           _flyweightsCount++;  
      }  
      var eventCount = 0;  
      var enames = {};  
      for (var key in Ext.EventManager.elHash)  
      {  
          eventCount++;  
          var es = Ext.EventManager.elHash[key]  
          if (es) {  
              for (var ename in es) {  
                  if (es.hasOwnProperty(ename)) {  
                      enames[ename] = (enames[ename] || 0) + 1  
                  }  
              }  
          }  
      }  
      //显示各个全局变量的数量  
      alert("elementCacheCouunt = " + elementCacheCouunt + ", _flyweightsCount = " + _flyweightsCount + ",eventCount = " + eventCount)  
      //比较事件的增长  
      var result = [];  
      window.extEventNames = window.extEventNames || {};  
      for (var key in enames)  
      {  
          window.extEventNames[key] = window.extEventNames[key] || 0;  
         var added = enames[key] - window.extEventNames[key];  
          if (added > 0)  
          {  
              result.push(key + ":total = " + enames[key] + ",add =" + added);  
          }  
      }  
                  //显示增长的事件及数量  
      alert(result.join(","))  
                  //记录本次统计的事件名,留做与新的事件做比较  
      window.extEventNames = enames;  
  }  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值