android.view.WindowLeaked 창 유출 이상 해결 방안
1450 단어 android 개발
원인: 안드로이드의 모든Activity에는 윈도우 관리자 창 관리자가 있다는 것을 알고 있습니다. 마찬가지로 모든Activity 위에 구축된 대화상자, 팝업 윈도우에도 해당하는 윈도우 관리자 창 관리자가 있습니다.대화상자, Popup Windown이Activity에서 벗어날 수 없기 때문에 단독으로 존재하기 때문에, 어떤 Dialog나 어떤 Popup Window가 표시될 때finish()에 가서 이 Dialog(또는 Popup Window)의 Activity를 불러올 때, 이 Dialog(또는 Popup Window)의 Window Manager는 부속할 수 있는 사람이 없기 때문에,그래서 창 관리자가 누설됐어요.
해결 방법: 어떤Activity를 닫기 전에 위에 첨부된Dialog나 PopupWindow가 닫혔는지 확인하십시오 (dismiss).
위의 네가 만나면 쉽게 해결할 수 있어!하지만 제가 개발하는 과정에서 이런 이유가 아니었습니다. 제 이유는MainActivity에 창이 넘친다는 것을 알렸기 때문입니다. 저는MainActivity에 몇 개의fragment가 있는데 fragment에 다이아로그를 사용했습니다. 저는 규칙적으로 show를 먼저 호출하고 dismiss를 사용했습니다.MainActivity도 사라지지 않았어finish.나중에 나는 내가MainActivity에서 이 방법을 사용해서 발생한 것을 발견하였다
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
FLAG_ACTIVITY_NEW_TASK가 이 로고를 설정하면 이 activity는 새task의 역사 창고 중 첫 번째 activity가 됩니다.이task는 원자 그룹activities를 정의하여 사용자가 제거할 수 있도록 합니다.각종tasks는 앞이나 뒤로 옮길 수 있다.특정task에서 모든activities는 항상 같은 순서를 유지합니다.
위의 설명은MainActivity가 다시 만들어졌다는 것이다. 그러면 원래의MainActivity는finish에 의해 만들어졌지만 dialog가 먼저 dismiss에 의해 만들어지지 않았기 때문에android가 되었다.view.윈도 Leaked 창이 이상하게 유출되었습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
지능기 하카슨에 참가해 봤어!김택공업대학 스마트폰 애플리케이션이 주최하는 교내 하카슨 아이븐트 사전 개발 본공연 첫날 사후 개발 11월 18일 참가 신청 23호관 등 여러 곳에서 홍보를 많이 한 것 같아요. 12월 2일 날 아이디어 '대학 생활...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.