Autodesk Forge 뷰어를 사용하여 스마트 폰 및 태블릿에 건물 모델을 표시하는 각도/Typescript 응용 프로그램을 개발하고 있습니다. 응용 프로그램 자체는 원활하게 실행되지만 응용 프로그램을 닫을 때 문제가 발생합니다. 응용 프로그램을 닫은 후에는 아래 이미지에서 볼 수 있듯이 (8 초 표시 주위에 응용 프로그램을 닫음) 거의 2-3 초 동안 뷰어를 열어 보니 메모리가 부족하다는 것을 알 수 있습니다 그리고 충돌. 응용 프로그램을 닫으면 Forge 문서에 설명 된대로 tearDown() 및 finish() 메서드를 호출하고 Forge 뷰어에 대한 가능한 모든 참조를 null로 설정하지만 메모리 누수가 여전히 지속됩니다.장치의 Autodesk Forge 뷰어에서 심각한 메모리 누수가 발생했습니다.
this.initOptions = {
path: 'url to model',
env: 'Local',
useADP: false,
extensions: [],
};
Autodesk.Viewing.Initializer(this.initOptions,() => {
this.onEnvInitialized();
});
private onEnvInitialized() {
this.viewer = new Autodesk.Viewing.Private.GuiViewer3D(this.viewerContainer.nativeElement, {});
this.viewer.initialize();
this.viewer.loadModel(this.initOptions.path, {}, (doc) => {
// further forge viewer execution here
}, (errorMsg) => {
console.log(errorMsg);
});
}
public ngOnDestroy() {
// remove all eventlisteners
this.initOptions = null;
this.viewer.tearDown();
this.viewer.finish();
this.viewer = null;
}
이 알려진 문제 및/또는 내가 수동으로 폐쇄 후 포지 뷰어에 의해 사용 된 메모리를 해제 할 수있는 몇 가지 방법이 : 이것은 내 시청자 코드의 주요 덩어리인가? (내가 하나 개의 세션에서 서로 후 개 이상의 시청자를 열 수 있어야 유스 케이스의 일부입니다.)
업데이트 [19-09-17]
나는 여는 시도 내 뷰어를 새롭게 비어있는 angular2 프로젝트에 추가하면 일반적으로 사용되는 메모리는 적지 만 here과 같이 메모리를 지우지 않는 동일한 동작이 계속 적용됩니다. 이벤트 리스너가 크게 줄어들 었다는 것을 알았습니다. 또한 Forge Viewer를 버전 2.17
으로 업데이트했으며 같은 문제가 여전히 여기에도 적용됩니다.
안녕하세요 제이미
after returning to this page after closing it
Initial initialisation of the page
, 저는 현재 포지 뷰어의 버전'2.13'을 사용하고 있습니다. 나는 이미 새로운 버전의 뷰어를 실험했지만 이벤트 처리의 대부분을 깨뜨 렸기 때문에 결국 2.13으로 되돌아갔습니다. – sjoerd216안녕하세요, 새 버전으로 이동하려고합니다. 발생한 메모리 누수 문제. 이벤트 처리를 중단시키는 뷰어로 현재 어떤 종류의 문제가 있습니까?나는 새로운 버전으로 업그레이드하지 않고 이것을 해결하기 위해 할 수있는 일이 있다고 생각하지 않는다. –
2.17로 업그레이드 한 후 프로젝트에서 'FINAL_FRAME_RENDERED_CHANGED_EVENT'이 (가) 더 이상 트리거되지 않았습니다. 우리는이 이벤트 리스너를'GEOMETRY_LOADED_EVENT'와 함께 사용하여 뷰어가 사용할 준비가되었을 때 결정합니다. 그러나 첫 번째 이벤트가 실행되지 않기 때문에 응용 프로그램은 이벤트가 시작될 때까지 기다리지 못합니다. 이 이벤트 핸들러 또는 모델이 완전히로드 된시기를 알 수있는 다른 방법이 있습니까? – sjoerd216