unsigned int prev_used_ratio;
unsigned int base_interval;
unsigned int interval;
+ bool low_memory;
guint tag;
memory_monitor_cb callback;
void *user_data;
static gboolean __memory_check_cb(gpointer data)
{
- unsigned int mem_used_ratio = 0;
- int ret;
+ bool low_memory;
__monitor.tag = 0;
- ret = _proc_get_mem_used_ratio(&mem_used_ratio);
- if (ret != 0) {
- _E("Failed to get mem used ratio");
- __monitor.interval = __monitor.base_interval;
- __memory_monitor_start();
- return G_SOURCE_REMOVE;
- }
-
- if (__monitor.callback) {
- __monitor.callback(mem_used_ratio > __monitor.threshold,
- __monitor.user_data);
- }
-
- _D("previous used ratio(%u), current used ratio(%u)",
- __monitor.prev_used_ratio, mem_used_ratio);
+ low_memory = _memory_monitor_is_low_memory();
+ if (__monitor.low_memory != low_memory && __monitor.callback)
+ __monitor.callback(low_memory, __monitor.user_data);
- __monitor.prev_used_ratio = mem_used_ratio;
+ __monitor.low_memory = low_memory;
__memory_monitor_start();
return G_SOURCE_REMOVE;
unsigned int mem_used_ratio = 0;
_proc_get_mem_used_ratio(&mem_used_ratio);
+
+ _D("previous used ratio(%u), current used ratio(%u)",
+ __monitor.prev_used_ratio, mem_used_ratio);
+
__monitor.prev_used_ratio = mem_used_ratio;
if (mem_used_ratio > __monitor.threshold)