2012-04-09 3 views
0

티타늄에 대한 경험이 거의 없습니다. 여기 마스터/디테일 데모 어플리케이션에서의 티타늄 메모리 누출

내가 논리적으로

masterView.addEventListener('itemSelected', function(e) { 
    //create detail view container 
    var detailView = new DetailView(); 
    var detailContainerWindow = Ti.UI.createWindow({ 
    title:'Product Details', 
    navBarHidden:false, 
    backgroundColor:'#ffffff' 
    }); 
    detailContainerWindow.add(detailView); 
    detailView.fireEvent('itemSelected',e); 
    detailContainerWindow.open(); 
}); 

테이블 행의 클릭 detailview가해야 할 때마다 누수가 있다고 생각하는 부분입니다 titaniumstudio 기본적으로 나는 git 또는 샘플에 사용 가능한 데모 버전과 동일한 마스터/세부 응용 프로그램이 필요합니다 다시 버튼을 누르면 사라질 것입니다. 하지만 안드로이드 장치에 ..이 응용 프로그램에 의해 찍은 tableview 메모리의 모든 클릭에 테스트되었습니다. 내 생각에 티타늄은 매번 새로운 디테일 뷰를 가지고 있지만 백엔드에서 계속 실행되는 오래된 것을 파괴하지는 않습니다. 버그인지 아니면 뭔가 잘못했다고 말해주십시오.

+0

당신이 세부 사항을 추가 /시 외부 창을 생성하고 생성 할 수 없습니다 이벤트 내부에서보기? –

+0

@Muhammad Zeeshan 그렇습니다. 나는 그것을 시도했습니다. 왜냐하면 매번 같은 창을 사용하는 것이 좋습니다. 그러나 그것은 나에게 또 다른 이상한 행동을 준다. .. 처음에는 실행되지만 다음 번에는 빈 창이 보인다. 이벤트를 처리 할 때주의를 기울이면. 그것은 경보를 발사했지만 응용 프로그램은 여전히 ​​비어 있습니다. – Parth

+0

뒤로 버튼 이벤트시 창을 닫으시겠습니까? –

답변

0

나는이 모든 내 메모리 문제에 대한 해결책을 발견 :

var memPool = Ti.UI.createWindow(); 
memPool.open(); 
memPool.hide(); 
memPool.add(yourTrashView);  
memPool.close(); 

는 여기에 설명 :

http://developer.appcelerator.com/question/116867/this-is-a-solution-to-your-memory-woes

+0

헤이 마이크에 대한 답변 주셔서 감사합니다. 전에 ..이 링크를 보았습니다. 나는 이벤트 발생과 함께 서로에 초점을 맞춘 스왑을 할 2 개의 창을 열어야합니다 .. 스왑, 새로운 리소스를 보여주는 에뮬레이터가 실제로 생각하는 이 기억에 대한 이유가 증가했습니다. 위로 응용 프로그램에 꽤 지연이 포함 된 솔루션으로 끝내십시오 .. 새로운 mobilesdk 버전에서 해결하기를 희망합니다. – Parth

+0

동일한 상황 (detailView에서 일부 webviews)에서이 솔루션을 사용하고 지연 문제가 없습니다. 나는 너가 노력해야한다고 생각해. –