Flushing memory after changing views 86/91786/6
authorm.kawonczyk <m.kawonczyk@samsung.com>
Tue, 11 Oct 2016 10:02:32 +0000 (12:02 +0200)
committerMaciej Kawo?czyk <m.kawonczyk@samsung.com>
Wed, 12 Oct 2016 10:59:26 +0000 (03:59 -0700)
[Issue]    http://suprem.sec.samsung.net/jira/browse/TWF-2192
[Problem]  Memory in cache was not flushed after being used.
[Solution] Flush cache when view is changed.
[Verify]   Browser should work as normal. Memory usage should
           lower.

Change-Id: I82434b765f4539b01ed070c64d8b748e7a999c0a

core/main.cpp
services/SimpleUI/SimpleUI.cpp

index 7b3884cfee8d30e76abd78b4bd82ffc3d3d19511..a8105036ee56bb78d349941fcb5aeda0abac854d 100755 (executable)
@@ -29,6 +29,7 @@
 #if PROFILE_MOBILE
 #include <system_settings.h>
 #include <app_common.h>
+#include <appcore-common.h>
 #endif
 
 // for tests...
@@ -84,7 +85,6 @@ static bool app_create(void* app_data)
 #else
     elm_config_focus_highlight_enabled_set(EINA_TRUE);
 #endif
-
     elm_config_cache_flush_enabled_set(boost::any_cast <Eina_Bool>(tizen_browser::config::Config::getInstance().get(CONFIG_KEY::CACHE_ENABLE_VALUE)));
     elm_config_cache_flush_interval_set(boost::any_cast <int>(tizen_browser::config::Config::getInstance().get(CONFIG_KEY::CACHE_INTERVAL_VALUE)));
     elm_config_cache_font_cache_size_set(boost::any_cast <int>(tizen_browser::config::Config::getInstance().get(CONFIG_KEY::CACHE_INTERVAL_VALUE)));
@@ -177,6 +177,9 @@ static void app_control(app_control_h app_control, void* app_data){
     (*bd)->exec(uri, caller);
     evas_object_show((*bd)->getMainWindow().get());
     elm_win_activate((*bd)->getMainWindow().get());
+
+    if (appcore_flush_memory() == -1)
+        BROWSER_LOGW("[%s] appcore_flush_memory error!", __PRETTY_FUNCTION__);
 }
 
 static void app_pause(void* app_data){
index acd90731769231d79b8e186f8d8591dfae8e437a..2de7b5a8387a604f5d7325e9ed0a4a106cef032a 100755 (executable)
@@ -28,6 +28,7 @@
 #include <thread>
 #include <future>
 #include <functional>
+#include <appcore-common.h>
 
 #include "Config.h"
 #include "app_i18n.h"
@@ -720,6 +721,8 @@ void SimpleUI::pushViewToStack(const sAUI& view)
 {
     m_viewManager.pushViewToStack(view);
     enableManualRotation(isManualRotation(view));
+    if (appcore_flush_memory() == -1)
+        BROWSER_LOGW("[%s] appcore_flush_memory error!", __PRETTY_FUNCTION__);
 }
 
 void SimpleUI::popTheStack()
@@ -727,12 +730,16 @@ void SimpleUI::popTheStack()
     BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
     m_viewManager.popTheStack();
     enableManualRotation(isManualRotation(m_viewManager.topOfStack()));
+    if (appcore_flush_memory() == -1)
+        BROWSER_LOGW("[%s] appcore_flush_memory error!", __PRETTY_FUNCTION__);
 }
 
 void SimpleUI::popStackTo(const sAUI& view)
 {
     m_viewManager.popStackTo(view);
     enableManualRotation(isManualRotation(view));
+    if (appcore_flush_memory() == -1)
+        BROWSER_LOGW("[%s] appcore_flush_memory error!", __PRETTY_FUNCTION__);
 }
 
 void SimpleUI::registerHWKeyCallback()