Dispose Popped Page 10/283010/1 accepted/tizen/unified/20221015.165747
authorkiso.chang <kiso.chang@samsung.com>
Fri, 14 Oct 2022 10:15:53 +0000 (19:15 +0900)
committerkiso.chang <kiso.chang@samsung.com>
Fri, 14 Oct 2022 10:16:49 +0000 (19:16 +0900)
- To reduce memory usage increasing

Change-Id: Ib564387106a9c630151d2ae8403b315de9580f7b
Signed-off-by: kiso.chang <kiso.chang@samsung.com>
SettingView/SettingMenuManager.cs
SettingView/SettingView.cs
packaging/org.tizen.SettingView-1.0.0.tpk

index 0fa64a9d75fdfb504ab7b94a68244455bd80044c..facc069e2e024e3ea23cffc03adfd2c273f39d65 100644 (file)
@@ -198,16 +198,22 @@ namespace SettingView
 \r
         public static void PopWidget(Window window)\r
         {\r
-            var page = window.GetDefaultNavigator().Pop();\r
+            window.GetDefaultNavigator().Pop();\r
+            LastestPushWidgetId = "";\r
+        }\r
 \r
+        public static void DisposePoppedPage(Page page)\r
+        {\r
             ContentPage contentpage = page as ContentPage;\r
-            if (contentpage != null) {\r
+            if (contentpage != null)\r
+            {\r
                 var view = contentpage.Content;\r
                 WidgetView widgetview = view as WidgetView;\r
                 if (widgetview != null)\r
                     WidgetViewManager.Instance.RemoveWidget(widgetview);\r
                 else\r
                     Tizen.Log.Debug("NUI", "This View is Not a WidgetView");\r
+                contentpage.Dispose();\r
             }\r
             else\r
             {\r
@@ -220,14 +226,14 @@ namespace SettingView
                         WidgetViewManager.Instance.RemoveWidget(widgetview);\r
                     else\r
                         Tizen.Log.Debug("NUI", "This View is Not a WidgetView");\r
+                    dialogpage.Dispose();\r
                 }\r
                 else\r
                     Tizen.Log.Debug("NUI", "This Page is Not a ContentPage or a DialogPage");\r
+                \r
             }\r
-\r
-            LastestPushWidgetId = "";\r
+            \r
         }\r
-\r
         public static void LaunchApplication(string appid)\r
         {\r
             AppControl appcontrol = new AppControl()\r
index 6acbaf07e3ee9c44523cbf5ad14b2c0b254f0eed..b0c0d142a194ec490f188766e265b398c1a21bda 100644 (file)
@@ -69,28 +69,36 @@ namespace SettingView
 \r
             // Push the page to the default navigator.\r
             window.GetDefaultNavigator().Push(mMainPage);\r
+            window.GetDefaultNavigator().Popped += Program_Popped;\r
+\r
 \r
 \r
             Tizen.System.SystemSettings.LocaleLanguageChanged += SystemSettings_LocaleLanguageChanged;\r
+\r
         }\r
 \r
         protected override void OnTerminate()\r
         {\r
+            Tizen.System.SystemSettings.LocaleLanguageChanged -= SystemSettings_LocaleLanguageChanged;\r
 \r
             Window window = GetDefaultWindow();\r
+            Tizen.System.SystemSettings.LocaleLanguageChanged -= SystemSettings_LocaleLanguageChanged;\r
 \r
             window.KeyEvent -= OnKeyEvent;\r
             window.TouchEvent -= OnTouchEvent;\r
 \r
 \r
-            Tizen.System.SystemSettings.LocaleLanguageChanged -= SystemSettings_LocaleLanguageChanged;\r
-\r
-\r
             // Create items and add them to the content of the page.\r
             SettingMenuManager.ClearMenuList();\r
+\r
             base.OnTerminate();\r
         }\r
 \r
+        private void Program_Popped(object sender, PoppedEventArgs e)\r
+        {\r
+            SettingMenuManager.DisposePoppedPage(e.Page);\r
+        }\r
+\r
         private void SystemSettings_LocaleLanguageChanged(object sender, Tizen.System.LocaleLanguageChangedEventArgs e)\r
         {\r
             if (mMainPage != null) {\r
@@ -99,7 +107,6 @@ namespace SettingView
             }\r
         }\r
 \r
-\r
         public void OnKeyEvent(object sender, Window.KeyEventArgs e)\r
         {\r
             if (e.Key.State == Key.StateType.Down && (e.Key.KeyPressedName == "XF86Back" || e.Key.KeyPressedName == "Escape"))\r
index 37d733f07bb6db2b394bb5fbf147c6fef3a31920..e8929cd9486e183ae5023c0da33085390016e941 100644 (file)
Binary files a/packaging/org.tizen.SettingView-1.0.0.tpk and b/packaging/org.tizen.SettingView-1.0.0.tpk differ