optimize_memory()
Данная команда позволяет оптимизировать память занимаемую программой (иногда дает временный эффект и тогда стоит использовать команды или перезапуска приложения или пересоздания браузера ).
После отработки команда возвращает результат своей работы в робот:
- true - операция выполнена успешно
- false - во время операции произошли ошибки
Примеры использования (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();
?>
Примеры использования (cs)
#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();
}
}
Примеры использования (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();
Примеры использования (py)
# 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()