2012-12-17 2 views
0

내 단일 도우미 응용 프로그램에서 사용자가 그것을 사용할 수있는 활동이 있습니다.단 독소로 여러 번 회전했을 때 활동이 실패했습니다

12-17 11:58:40.367: E/WindowManager(2115): Activity myapp.myActivity has leaked window [email protected] that was originally added here 
12-17 11:58:40.367: E/WindowManager(2115): android.view.WindowLeaked: Activity myapp.myActivity has leaked window [email protected] that was originally added here 
12-17 11:58:40.367: E/WindowManager(2115): at android.view.ViewRoot.<init>(ViewRoot.java:275) 
12-17 11:58:40.367: E/WindowManager(2115): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 
12-17 11:58:40.367: E/WindowManager(2115): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
12-17 11:58:40.367: E/WindowManager(2115): at android.view.Window$LocalWindowManager.addView(Window.java:430) 
12-17 11:58:40.367: E/WindowManager(2115): at android.app.Dialog.show(Dialog.java:288) 
12-17 11:58:40.367: E/WindowManager(2115): at myapp.myActivity.n_onCreate(Native Method) 
12-17 11:58:40.367: E/WindowManager(2115): at myapp.myActivity.onCreate(PropertyShowActivity.java:77) 
12-17 11:58:40.367: E/WindowManager(2115): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
12-17 11:58:40.367: E/WindowManager(2115): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780) 
12-17 11:58:40.367: E/WindowManager(2115): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837) 
12-17 11:58:40.367: E/WindowManager(2115): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3242) 
12-17 11:58:40.367: E/WindowManager(2115): at android.app.ActivityThread.access$1600(ActivityThread.java:132) 
12-17 11:58:40.367: E/WindowManager(2115): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1037) 
12-17 11:58:40.367: E/WindowManager(2115): at android.os.Handler.dispatchMessage(Handler.java:99) 
12-17 11:58:40.367: E/WindowManager(2115): at android.os.Looper.loop(Looper.java:143) 
12-17 11:58:40.367: E/WindowManager(2115): at android.app.ActivityThread.main(ActivityThread.java:4196) 
12-17 11:58:40.367: E/WindowManager(2115): at java.lang.reflect.Method.invokeNative(Native Method) 
12-17 11:58:40.367: E/WindowManager(2115): at java.lang.reflect.Method.invoke(Method.java:507) 
12-17 11:58:40.367: E/WindowManager(2115): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
12-17 11:58:40.367: E/WindowManager(2115): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
12-17 11:58:40.367: E/WindowManager(2115): at dalvik.system.NativeStart.main(Native Method) 
12-17 11:58:40.377: W/MapActivity(2115): Recycling dispatcher android_maps_conflict_a[email protected]40626398 

내가이 무엇인가에 대해 잘 모릅니다 : 다시 다시 몇 시간이 내가 그것을 회전 할 때이 오류가 발생합니다. 어떤 몸이라도 나를 도와 줄 수 있습니까?

Recycling dispatcher android_maps_conflict_a[email protected]40626398 

재활용 맵 오브젝트 :

는 또한 위의 오류 전에이 정보를 가지고있다. 클램프 대상 GC 힙 33.796MB - 32.000MB 395280 바이트의 외부 할당이이 프로세스에 비해 너무 큽니다. VM은 우리가 내가 그것을 그 때문이다 유니버설 이미지 로더 와로드 내 활동의 일부 이미지를 32.000MB

에 33.789MB에서 395,280 바이트 클램프 대상 GC 힙을 할당하지 않습니다? 사실 어떻게 해결할 수 있습니까?

답변

0

: 활동주기가 여기에 설명되어

protected override void OnPause() 
{ 
    base.OnPause(); 

    if (this.dlg != null) 
     this.dlg.Dismiss(); 
} 

: 제안 된 장소는 OnPause() 메소드입니다 이 같은 속성 변경 추가 보길 원하는 :

[Activity(Label = "MyActivity", Icon = "@drawable/MyActivity", Theme = "@style/AppTheme" 
       , ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation)] 

Android.Content.PM.ConfigChanges.Orientation 재산은 활동을 통지한다는 y 방향 변경은 수동으로 처리해야합니다. 따라서 활동을 다시 시작하지 않고보기를 순환 시키려면 해당 속성을 변경하면 문제가 해결됩니다.

레이아웃을 변경해야하거나 방향 변경에 대한 조치가 필요한 경우 OnConfigurationChanged 메서드를 재정의해야합니다.

이 프로세스에 대한 자세한 내용은 Xamarin Docs Site에서 확인할 수 있습니다. 섹션 "활동 재개 방지" 섹션을보십시오.

0

어딘가에 메모리 누수가 발생했습니다. Gui 객체에 대한 참조를 저장하고 있지 않은지 확인하십시오.

+0

분명히 나는 ​​그것을하지 않았다. gui.can에 대한 참조 저장이 어떻게해야하는지 모르겠다. – user1682893

0

OnCreate() 메서드에서 Dialog (또는 Dialog에서 파생 된 클래스)를 만드는 것처럼 보입니다. Dialog는 누설 된 내부 클래스 PhoneWindow를 사용합니다. 장치를 돌리면 활동이 라이프 사이클을 거치며 대화 상자가 정리됩니다. 당신이 레이아웃을 변경하거나/다시로드 컨트롤이나 레이아웃을 다시 구성 할 필요가없는 경우는 수도, https://developer.android.com/reference/android/app/Activity.html

+0

나는 monodroid를 사용하고 나의 액티비티 클래스는 'dlg'name.and에 의해 어떤 속성도 가지지 않고 dialog.what와 같은 것이 없다. – user1682893

+0

나는 그것이 this.i에 관한 것이 아니라고 생각한다. 이미지 갤러리가 있고 보편적 인 이미지 로더에 의해 그들의 이미지를 보여주고 다른 대화 상자가없는 다른 활동이있다. 이 활동에서 나는이 문제를 also.can 어떤 시체가 내게 말할 수있는 gui에 대한 참조를 저장할 수있는 'snapix'대답을 기반으로합니까? – user1682893

+1

추측 할 수있는 코드가 더 이상 표시되지 않습니다. 오류가 여전히 나타나는 곳에 최소한의 코드 예제를 제공해야합니다.문제가 생겼을 때 정확한 스택 추적을 얻었고 설명대로 해결했습니다. – vividos

관련 문제