optimize_memory(); - оптимизировать память занимаемую программой (иногда дает временный эффект и тогда стоит использовать команды или перезапуска приложения или пересоздания браузера ).
После отработки функция возвращает результат своей работы в робот :
true – операция выполнена успешно false – во время операции произошли ошибки
Пример использования optimize_memory (PHP):
<?php $xhe_host = "127.0.0.1:7013"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/init.php"; require($path); // ресурсы echo "<hr><font color=blue>debug->".basename (__FILE__)."</font><hr>"; // память $begmem=$debug->get_cur_mem_size(); $gdi=$debug->get_gui_resources(0); $user=$debug->get_gui_resources(1); // проверка эффективности чистки памяти $num=0; for ($i=0;$i<5;$i++) { // создадаим вкладку $browser->set_count(2); $browser->set_active_browser(1); // 1 echo "1. Выделим память : "; for ($j=0;$j<2;$j++) { 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>".$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><br>"; // закроем вкладку $browser->recreate(); $browser->set_count(1); $num++; //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: ".$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 "; // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Пример использования optimize_memory (C#):
#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(); // начало echo("<hr><font color=blue>debug.optimize_memory</font><hr>"); // 10 секунд на страницу browser.set_wait_params(10,1); // проверка эффективности чистки памяти for (int k=0;k<20;k++) { // 1 шаг echo("1. Выделим память : "); 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>"); } // 2 шаг echo("2. Оптимизируем память : "); echo(debug.optimize_memory()+" "); echo("<font color=green>"+debug.get_cur_mem_size()+"</font><br>"); // 3 шаг echo("3. Выведем используемую память : "); 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>"); // 4 шаг echo("4. Выведем используемую память : "); 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>"); } // конец echo("<hr><br>"); app.quit(); } }
Пример использования 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();