User Tools

Site Tools


Sidebar



en:objects:debug:memory:optimize_memory

optimize_memory

optimize_memory(); - optimize the memory used by the program (sometimes it gives a temporary effect and then you should use the commands or restart the application or recreate the browser ).

After testing, the function returns the result of its work to the script :
  • true – the operation was completed successfully
  • true – errors occurred during the operation

    PHP example:

    <?php $xhe_host = "127.0.0.1:7017";
     
    //connect the object to control the emulator, if not already connected
    if(!isset($path))
      $path = "../../../Templates/xweb_human_emulator.php";
    require($path);
     
    //resources
    echo "<hr> <font color = blue> debug->".basename(__FILE__)."</font> <hr>";
     
    //memory
    $begmem = $debug->get_cur_mem_size();
    $gdi = $debug->get_gui_resources(0);
    $user = $debug->get_gui_resources(1);
     
    //check the efficiency of cleaning memory
    $num = 0;
    for($i = 0; $i <5; $i ++)
    {
      //create a tab
       $browser->set_count(2);
    $browser->set_active_browser(1);
     
    //1
    echo "1.Allocate memory:";
    for($i = 0; $i <2; $i ++)
    {
    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.Optimizing memory:";
    echo $debug->optimize_memory()."";
       $browser->recreate();
    echo "<font color = green>".$debug->get_cur_mem_size()."</font> <br>";
     
    //3
    echo "3.List the used memory:";
    $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.Display the used memory:";
    $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> <br>";
     
      //close the tab
       $browser->recreate();
       $browser->set_count(1);
       $num ++;
    //if($num% 5 == 0)
    //$debug->clear_tab_content("Debug");
     
    }
     
    //print the memory gain
    $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:".$deltamem."</font> <br>";
    else
    echo "<font color = red> delta memory size:".$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";
     
    //end
    echo "<hr> <br>";
     
    //Quit
    $app->quit();
    ?>

    Python example:

    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
     
    xhe_host = "127.0.0.1:7010"
    from xweb_human_emulator import *
     
    # Start
    echo("<hr> <font color = blue> debug.xxxxxxxxx </font> <hr>")
     
    #memory
    begmem = debug.get_cur_mem_size()
    gdi = debug.get_gui_resources(0)
    user = debug.get_gui_resources(1)
     
    # checking the efficiency of cleaning memory
    num = 0
    for i in range(0.5):
        # create a tab
        browser.set_count(2)
        browser.set_active_browser(1)
        # 1
        echo("1.Allocate memory:")
        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.Optimizing memory:")
        echo(debug.optimize_memory(), "")
        browser.recreate()
        echo("<font color = green>" + str(debug.get_cur_mem_size()) + "</font> <br>")
        # 3
        echo("3.Display the used memory:")
        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.Display used memory:")
        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>")
        # close the tab
        browser.recreate()
        browser.set_count(1)
        num = num + 1
        #if num% 5 == 0)
            # debug.clear_tab_content("Debug"))
     
    # display the memory gain
    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")
     
    # end
    echo("<hr> <br>")
     
    # Quit
    app.quit()

    C# example:

    #region using
     
    using System;
    using System.Diagnostics;
    using System.Collections.Generic;
    using System.Linq;
    using System.IO;
    using System.Text;
    using System.Threading;
     
    using XHE;
    using XHE.XHE_DOM;
    using XHE.XHE_System;
    using XHE.XHE_Window;
    using XHE.XHE_Web;
     
    #endregion
     
     class Program: XHEScript
     {
    static void Main(string [] args)
    {
    //init XHE
    server = "127.0.0.1:7010";
    InitXHE();
     
    //Start
    echo("<hr> <font color = blue> debug.optimize_memory </font> <hr>");
     
    //10 seconds per page
    browser.set_wait_params(10,1);
    //check the efficiency of cleaning memory
    for(int k = 0; k <20; k ++)
    {
    //1 step
    echo("1.Allocate memory:");
    for(int 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>");
    }
     
    //step 2
    echo("2.Optimizing memory:");
    echo(debug.optimize_memory() + "");
    echo("<font color = green>" + debug.get_cur_mem_size() + "</font> <br>");
     
    //step 3
    echo("3.Display the used memory:");
    for(int 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>");
    }
    echo("<font color = blue>" + debug.get_cur_mem_size() + "</font> <br>");
     
    //step 4
    echo("4.Display the used memory:");
    browser.recreate();
    for(int 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>");
    }
    echo("<font color = blue>" + debug.get_cur_mem_size() + "</font> <br>");
    }
     
    //end
    echo("<hr> <br>");
     
    app.quit();
    }
    }

    Java Script example:

    //connect the object to control the emulator, if not already connected
    xhe_host = "127.0.0.1:7014";
    echo = require("../../../Templates JS/xweb_human_emulator.js");
     
    //Start
    echo("<hr> <font color = blue> debug.optimize_memory </font> <hr>");
     
    //enable ActiveX
    browser.enable_activex(true);
     
    //check the efficiency of cleaning memory
    //while(true)
    {
    //1 step
    echo("1.Allocate memory:  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>");
    }
     
    //step 2
    echo(" n2.Optimizing memory:");
    echo(debug.optimize_memory() + "");
    echo("<font color = green>" + debug.get_cur_mem_size() + "</font> <br>");
     
    //step 3
    echo("3.Display the used memory:");
    browser.navigate("about: blank"); browser.navigate("ya.ru"); browser.navigate("yahoo.com");
    echo("<font color = blue>" + debug.get_cur_mem_size() + "</font> <br>");
     
    //step 4
    echo("4.Display the used memory:");
    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>");
    }
     
    //end
    echo("<hr> <br>");
     
    //Quit
    app.quit();
  • en/objects/debug/memory/optimize_memory.txt · Last modified: 2026/08/05 22:35 (external edit)