Ext Desktop의 메모리 성능에 대한 논의
이 예를 테스트한 후에 이것은taskbar에서 일어난 것일 수 있음을 발견하였다.만들 때 win에 속성 win이 있습니다.taskButton은 작업 표시줄의 작업 단추를 연결하는 데 사용되며, 작업 단추taskButton에는 속성taskButton이 있습니다.win은 연결된 창을 기록합니다.이렇게 하면 서로 인용하여 삭제할 때 제대로 삭제되지 않을 수도 있다.
이 아이디어를 검증하기 위해 Desktop 추가에 대해 주석을 달았습니다.js에서 taskButton의 코드, 즉 taskButton을 추가하지 않고 25줄부터 93줄까지 아래와 같이
function markActive(win){
if(activeWindow && activeWindow != win){
markInactive(activeWindow);
}
//taskbar.setActiveButton(win.taskButton);
activeWindow = win;
//Ext.fly(win.taskButton.el).addClass('active-win');
win.minimized = false;
}
function markInactive(win){
if(win == activeWindow){
activeWindow = null;
//Ext.fly(win.taskButton.el).removeClass('active-win');
}
}
function removeWin(win){
//taskbar.removeTaskButton(win.taskButton);
layout();
}
function layout(){
desktopEl.setHeight(Ext.lib.Dom.getViewHeight()-taskbarEl.getHeight());
}
Ext.EventManager.onWindowResize(layout);
this.layout = layout;
this.createWindow = function(config, cls){
var win = new (cls||Ext.Window)(
Ext.applyIf(config||{}, {
manager: windows,
minimizable: true,
maximizable: true
})
);
win.render(desktopEl);
//win.taskButton = taskbar.addTaskButton(win);
win.cmenu = new Ext.menu.Menu({
items: [
]
});
//win.animateTarget = win.taskButton.el;
win.on({
'activate': {
fn: markActive
},
'beforeshow': {
fn: markActive
},
'deactivate': {
fn: markInactive
},
'minimize': {
fn: minimizeWin
},
'close': {
fn: removeWin
}
});
layout();
return win;
};
그 후에 IE7에서 sIEve로 Ext3.0에서 테스트를 했는데 더 이상 메모리가 증가하는 상황이 나타나지 않았고 고립된 노드도 기본적으로 정확하게 방출되었다.
다음은 효과도입니다.
이런 생각이 옳은지, 아니면 이 문제를 해결할 수 있는지, 아니면 다른 견해를 제시할 수 있는 사람이 있는가.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제한된 크기의 디렉토리를 만드는 방법오늘 저는 장치에 공간이 없을 때 백업 중에 응용 프로그램이 어떻게 작동하는지 테스트(및 수정)하는 작업이 있습니다. 결과적으로 "남은 공간 없음"오류로 백업이 실패하면 새 파일이 없어야 합니다. 지금까지 문제를 재...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.