• EN
    RU

debug/optimize_memory

optimize_memory(); - оптимизировать память занимаемую программой (иногда дает временный эффект и тогда стоит использовать команды или перезапуска приложения или пересоздания браузера ).
После отработки функция возвращает результат своей работы в робот :
  • true – операция выполнена успешно
  • false – во время операции произошли ошибки




  • Пример использования optimize_memory (Python):

    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
     
    xhe_host = "127.0.0.1:7010"
    from xweb_human_emulator import *
     
    # начало
    echo("<hr><font color=blue>debug.xxxxxxxxx</font><hr>")
     
    # память
    begmem=debug.get_cur_mem_size()
    gdi=debug.get_gui_resources(0)
    user=debug.get_gui_resources(1)
     
    # проверка эффективности чистки памяти
    num=0
    for i in range(0,5):
        # создадаим вкладку
        browser.set_count(2)
        browser.set_active_browser(1)
        # 1 
        echo("1. Выделим память : ")
        for j in range(0,2):
            echo(debug.get_cur_mem_size()," ")
            echo(browser.navigate("vk.com")," ")
            echo(browser.navigate("yandex.ru")," ")
            echo(browser.navigate("google.com")," ")
            echo(browser.navigate("yahoo.com"),"<br>")
        # 2 
        echo("2. Оптимизируем память : ")
        echo(debug.optimize_memory()," ")
        browser.recreate()
        echo("<font color=green>"+str(debug.get_cur_mem_size())+"</font><br>")
        # 3 
        echo("3. Выведем используемую память : ")
        browser.navigate("about:blank")
        browser.navigate("ya.ru")
        browser.navigate("yahoo.com")
        echo("<font color=blue>"+str(debug.get_cur_mem_size())+"</font><br>")
        # 4 
        echo("4. Выведем используемую память : ")
        browser.recreate()
        browser.navigate("about:blank")
        browser.navigate("ya.ru")
        browser.navigate("yahoo.com")
        echo("<font color=red>"+str(debug.get_cur_mem_size())+"</font><br><br><br>")
        # закроем вкладку
        browser.recreate()
        browser.set_count(1)
        num=num+1
        #if num%5==0)
            #debug.clear_tab_content("Отладка"))
     
    # выведем прирост памяти
    endmem=debug.get_cur_mem_size()
    deltamem=(endmem-begmem)/1024/1024
    endmem=endmem/1024/1024
    echo("Memory used endmem : ")
    if deltamem<0:
    	echo("<font color=green>delta memory size: "+str(deltamem)+"</font><br>")
    else:
    	echo("<font color=red>delta memory size: "+str(deltamem)+"</font><br>")
    echo("GUI: ")
     
    gdi_e=debug.get_gui_resources(0)
    user_e=debug.get_gui_resources(1)
    deltagdi=(gdi_e-gdi)
    deltauser=(user_e-user)
    echo("gdi: deltagdi user: deltauser ")
     
    # конец
    echo("<hr><br>")
     
    # Quit
    app.quit()

    Пример использования optimize_memory (JS):

    // подключим объект для управления эмулятором, если еще не подключен
    xhe_host="127.0.0.1:7014";
    echo=require("../../../Templates JS/init.js");
     
    // начало
    echo("<hr><font color=blue>debug.optimize_memory</font><hr>");
     
    // включим ActiveX
    browser.enable_activex(true);
     
    // проверка эффективности чистки памяти
    //while (true)
    {
    	// 1 шаг
    	echo("1. Выделим память : \n\n");
    	for (var i=0;i<10;i++)
    	{
    		echo(debug.get_cur_mem_size()+" ");
      	    echo(browser.navigate("about:blank")+" ");
    		echo(browser.navigate("ya.ru")+" ");
    		echo(browser.navigate("yahoo.com")+"<br>");
    	}
     
    	// 2 шаг
    	echo("\n2. Оптимизируем память : ");
    	echo(debug.optimize_memory()+" ");
    	echo("<font color=green>"+debug.get_cur_mem_size()+"</font><br>");
     
    	// 3 шаг
    	echo("3. Выведем используемую память : ");
    	browser.navigate("about:blank");browser.navigate("ya.ru");browser.navigate("yahoo.com");
    	echo("<font color=blue>"+debug.get_cur_mem_size()+"</font><br>");
     
    	// 4 шаг
    	echo("4. Выведем используемую память : ");
    	browser.recreate();browser.navigate("about:blank");browser.navigate("ya.ru");browser.navigate("yahoo.com");
    	echo("<font color=red>"+debug.get_cur_mem_size()+"</font><br><br>");
    }
     
    // конец
    echo("<hr><br>");
     
    // Quit
    app.quit();