两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種JavaScript對(duì)象存儲(chǔ)、回收方法及裝置與流程

文檔序號(hào):11230370閱讀:974來源:國知局
一種JavaScript對(duì)象存儲(chǔ)、回收方法及裝置與流程

本發(fā)明涉及內(nèi)存管理技術(shù)領(lǐng)域,特別是涉及一種javascript對(duì)象存儲(chǔ)、回收方法及裝置。



背景技術(shù):

數(shù)字電視中間件是運(yùn)行于機(jī)頂盒或數(shù)字電視上的一種軟件,數(shù)字電視中間件的主要功能包括web應(yīng)用呈現(xiàn)、電視節(jié)目接收與解擾、本地節(jié)目播放等。萬維網(wǎng)服務(wù)的客戶端瀏覽程序(瀏覽器)可向萬維網(wǎng)服務(wù)器發(fā)送各種請(qǐng)求,并對(duì)從服務(wù)器發(fā)來的超文本信息和各種多媒體數(shù)據(jù)格式進(jìn)行解釋、顯示和播放,其是數(shù)字電視中間件的主要模塊。

javascript一種直譯式腳本語言(javascript中的每個(gè)事物都可看成是javascript對(duì)象),它的解釋器被稱為javascript引擎(javascript引擎是一個(gè)專門處理javascript腳本的虛擬機(jī),一般會(huì)附帶在瀏覽器之中),為瀏覽器的一部分,廣泛用于客戶端的腳本語言?,F(xiàn)有技術(shù)通常是將javascript專用內(nèi)存從數(shù)字電視中間件的通用內(nèi)存中分出,以僅用于javascript引擎在運(yùn)行過程中的內(nèi)存分配,實(shí)現(xiàn)對(duì)javascript引擎在處理javascript腳本過程中產(chǎn)生的javascript對(duì)象的存儲(chǔ)。

目前,javascript專用內(nèi)存通常是通過堆內(nèi)存的形式存儲(chǔ)javascript對(duì)象,一個(gè)堆內(nèi)存中通??梢源鎯?chǔ)多個(gè)javascript對(duì)象,也正因如此,在回收javascript專用內(nèi)存時(shí),通常會(huì)存在由于堆內(nèi)存中的某些javascript對(duì)象不可被回收,而影響此堆內(nèi)存的釋放,增加了javascript專用內(nèi)存對(duì)通用內(nèi)存的占用,進(jìn)而導(dǎo)致了數(shù)字電視中間件運(yùn)行不順暢的問題。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供一種javascript對(duì)象存儲(chǔ)、回收方法及裝置,以實(shí)現(xiàn)節(jié)省通用內(nèi)存,提高數(shù)字電視中間件的運(yùn)行效率的目的。

為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供的技術(shù)方案如下:

一種javascript對(duì)象存儲(chǔ)方法,包括:

確定javascript引擎在處理javascript腳本的過程中產(chǎn)生的javascript對(duì)象;

確定所述javascript對(duì)象的大小是否到達(dá)預(yù)設(shè)的對(duì)象閾值;

若確定所述javascript對(duì)象的大小到達(dá)預(yù)設(shè)的對(duì)象閾值,從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)僅用于存儲(chǔ)所述javascript對(duì)象的堆內(nèi)存,所述堆內(nèi)存設(shè)置有獨(dú)占標(biāo)記;

將所述javascript對(duì)象存儲(chǔ)至所述javascript專用內(nèi)存中的所述堆內(nèi)存中。

優(yōu)選的,若確定所述javascript對(duì)象的大小未到達(dá)預(yù)設(shè)的對(duì)象閾值,該方法還包括:

從javascript專用內(nèi)存中確定用于存儲(chǔ)所述javascript對(duì)象的設(shè)置有非獨(dú)占標(biāo)記的第一目標(biāo)堆內(nèi)存,所述第一目標(biāo)堆內(nèi)存的剩余空間大于所述javascript對(duì)象;

將所述javascript對(duì)象存儲(chǔ)至所述第一目標(biāo)堆內(nèi)存。

優(yōu)選的,所述從javascript專用內(nèi)存中確定用于存儲(chǔ)所述javascript對(duì)象的設(shè)置有非獨(dú)占標(biāo)記的第一目標(biāo)堆內(nèi)存,包括:

確定javascript專用內(nèi)存中是否存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存;

若確定javascript專用內(nèi)存中存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,從所述javascript專用內(nèi)存中確定第一目標(biāo)堆內(nèi)存,所述第一目標(biāo)堆內(nèi)存的剩余空間不小于所述javascript對(duì)象的大??;

若確定javascript專用內(nèi)存中不存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,比較所述javascript對(duì)象的大小與預(yù)設(shè)的堆內(nèi)存的大??;

當(dāng)所述javascript對(duì)象的大小不大于預(yù)設(shè)的堆內(nèi)存的大小時(shí),從通用內(nèi)存中為所述javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所分配的堆內(nèi)存的大小與所述預(yù)設(shè)的堆內(nèi)存的大小相同,所分配的堆內(nèi)存設(shè)置有非獨(dú)占標(biāo)記;

當(dāng)所述javascript對(duì)象的大小大于預(yù)設(shè)的堆內(nèi)存的大小時(shí),從通用內(nèi)存中為所述javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所分配的堆內(nèi)存的大小滿足所述javascript對(duì)象的存儲(chǔ)需求,所分配的堆內(nèi)存設(shè)置有非獨(dú)占標(biāo)記。

優(yōu)選的,在所述確定javascript專用內(nèi)存中是否存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存之前,該方法還包括:

確定javascript專用內(nèi)存中是否存在設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存;

若確定javascript專用內(nèi)存中不存在設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,比較所述javascript對(duì)象的大小與預(yù)設(shè)的堆內(nèi)存的大??;

當(dāng)所述javascript對(duì)象的大小不大于預(yù)設(shè)的堆內(nèi)存的大小時(shí),從通用內(nèi)存中為所述javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所分配的堆內(nèi)存的大小與所述預(yù)設(shè)的堆內(nèi)存的大小相同,所分配的堆內(nèi)存設(shè)置有非獨(dú)占標(biāo)記;

當(dāng)所述javascript對(duì)象的大小大于預(yù)設(shè)的堆內(nèi)存的大小時(shí),從通用內(nèi)存中為所述javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所分配的堆內(nèi)存的大小滿足所述javascript對(duì)象的存儲(chǔ)需求,所分配的堆內(nèi)存設(shè)置有非獨(dú)占標(biāo)記;

所述確定javascript專用內(nèi)存中是否存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,包括:若確定javascript專用內(nèi)存中存在設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,確定所述javascript專用內(nèi)存中是否存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存。

優(yōu)選的,javascript對(duì)象攜帶回收標(biāo)識(shí),所述回收標(biāo)識(shí)指示javascript對(duì)象可被回收/不可被回收。

優(yōu)選的,所述對(duì)象閾值的大小不大于所述預(yù)設(shè)的堆內(nèi)存的大小。

一種javascript對(duì)象存儲(chǔ)裝置,包括:

javascript對(duì)象確定單元,用于確定javascript引擎在處理javascript腳本的過程中產(chǎn)生的javascript對(duì)象;

對(duì)象閾值確定單元,用于確定所述javascript對(duì)象的大小是否到達(dá)預(yù)設(shè)的對(duì)象閾值;

堆內(nèi)存分配單元,用于若確定所述javascript對(duì)象的大小到達(dá)預(yù)設(shè)的對(duì)象閾值,從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所述堆內(nèi)存設(shè)置有獨(dú)占標(biāo)記;

存儲(chǔ)單元,用于將所述javascript對(duì)象存儲(chǔ)至所述javascript專用內(nèi)存中的所述堆內(nèi)存中。

優(yōu)選的,所述對(duì)象閾值的大小不大于所述預(yù)設(shè)的堆內(nèi)存的大小。

一種基于所述的javascript對(duì)象存儲(chǔ)方法的javascript對(duì)象回收方法,包括:

在滿足javascript對(duì)象回收條件的情況下,從javascript專用內(nèi)存中確定第二目標(biāo)堆內(nèi)存,所述第二目標(biāo)堆內(nèi)存中的每個(gè)javascript對(duì)象攜帶的回收標(biāo)識(shí)均指示javascript對(duì)象可被回收;

釋放所述第二目標(biāo)堆內(nèi)存中的每個(gè)javascript對(duì)象。

一種javascript對(duì)象回收裝置,包括:

第二目標(biāo)堆內(nèi)存確定單元,用于在滿足javascript對(duì)象回收條件的情況下,從javascript專用內(nèi)存中確定第二目標(biāo)堆內(nèi)存,所述第二目標(biāo)堆內(nèi)存中的每個(gè)javascript對(duì)象攜帶的回收標(biāo)識(shí)均指示javascript對(duì)象可被回收;

釋放單元,用于釋放所述第二目標(biāo)堆內(nèi)存中的每個(gè)javascript對(duì)象。

本申請(qǐng)實(shí)施例提供一種javascript對(duì)象存儲(chǔ)、回收方法及裝置,通過確定javascript對(duì)象的大小是否到達(dá)預(yù)設(shè)的對(duì)象閾值;若是,從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所述堆內(nèi)存設(shè)置有獨(dú)占標(biāo)記;將所述javascript對(duì)象存儲(chǔ)至所述堆內(nèi)存中的方式,保證了大小到達(dá)預(yù)設(shè)的對(duì)象閾值的javascript對(duì)象在一堆內(nèi)存中的單獨(dú)存儲(chǔ),使得在進(jìn)行javascript對(duì)象回收時(shí),所述javascript對(duì)象占用的堆內(nèi)存的回收與其他javascript對(duì)象占用的堆內(nèi)存的回收之間互不影響,進(jìn)而實(shí)現(xiàn)了節(jié)省通用內(nèi)存,提高數(shù)字電視中間件的運(yùn)行效率的目的。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本申請(qǐng)實(shí)施例提供的一種javascript對(duì)象存儲(chǔ)方法流程圖;

圖2為本申請(qǐng)實(shí)施例提供的另一種javascript對(duì)象存儲(chǔ)方法流程圖;

圖3為本申請(qǐng)實(shí)施例提供的一種從javascript專用內(nèi)存中確定用于存儲(chǔ)所述javascript對(duì)象的設(shè)置有非獨(dú)占標(biāo)記的第一目標(biāo)堆內(nèi)存方法流程圖;

圖4為本申請(qǐng)實(shí)施例提供的另一種從javascript專用內(nèi)存中確定用于存儲(chǔ)所述javascript對(duì)象的設(shè)置有非獨(dú)占標(biāo)記的第一目標(biāo)堆內(nèi)存方法流程圖;

圖5為本申請(qǐng)實(shí)施例提供的一種javascript對(duì)象存儲(chǔ)裝置的結(jié)構(gòu)示意圖;

圖6為本申請(qǐng)實(shí)施例提供的一種javascript對(duì)象回收方法流程圖;

圖7為本申請(qǐng)實(shí)施例提供的一種javascript對(duì)象回收裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。

實(shí)施例:

圖1為本申請(qǐng)實(shí)施例提供的一種javascript對(duì)象存儲(chǔ)方法流程圖。

如圖1所示,該方法包括:

s101、確定javascript引擎在處理javascript腳本的過程中產(chǎn)生的javascript對(duì)象;

s102、確定所述javascript對(duì)象的大小是否到達(dá)預(yù)設(shè)的對(duì)象閾值;若確定所述javascript對(duì)象的大小到達(dá)預(yù)設(shè)的對(duì)象閾值,執(zhí)行步驟s103;

s103、從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)僅用于存儲(chǔ)所述javascript對(duì)象的堆內(nèi)存,所述堆內(nèi)存設(shè)置有獨(dú)占標(biāo)記;

可選的,從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)僅用于存儲(chǔ)所述javascript對(duì)象的堆內(nèi)存的大小,滿足所述javascript對(duì)象的存儲(chǔ)需求。

s104、將所述javascript對(duì)象存儲(chǔ)至所述javascript專用內(nèi)存中的所述堆內(nèi)存中。

圖2為本申請(qǐng)實(shí)施例提供的另一種javascript對(duì)象存儲(chǔ)方法流程圖。

如圖2所示,該方法包括:

s201、確定javascript引擎在處理javascript腳本的過程中產(chǎn)生的javascript對(duì)象;

s202、確定所述javascript對(duì)象的大小是否到達(dá)預(yù)設(shè)的對(duì)象閾值;若確定所述javascript對(duì)象的大小到達(dá)預(yù)設(shè)的對(duì)象閾值,執(zhí)行步驟s203;若確定所述javascript對(duì)象的大小未到達(dá)預(yù)設(shè)的對(duì)象閾值,執(zhí)行步驟s205;

s203、從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)僅用于存儲(chǔ)所述javascript對(duì)象的堆內(nèi)存,所述堆內(nèi)存設(shè)置有獨(dú)占標(biāo)記;

s204、將所述javascript對(duì)象存儲(chǔ)至所述javascript專用內(nèi)存中的所述堆內(nèi)存中;

本申請(qǐng)實(shí)施例提供的步驟s201-s204的執(zhí)行過程與上述實(shí)施例提供的步驟s101-s104的執(zhí)行過程相同,有關(guān)步驟s201-s204的執(zhí)行過程請(qǐng)參照上述對(duì)步驟s101-s104的描述,在此不做贅述。

s205、從javascript專用內(nèi)存中確定用于存儲(chǔ)所述javascript對(duì)象的設(shè)置有非獨(dú)占標(biāo)記的第一目標(biāo)堆內(nèi)存,所述第一目標(biāo)堆內(nèi)存的剩余空間大于所述javascript對(duì)象;

s206、將所述javascript對(duì)象存儲(chǔ)至所述第一目標(biāo)堆內(nèi)存。

圖3為本申請(qǐng)實(shí)施例提供的一種從javascript專用內(nèi)存中確定用于存儲(chǔ)所述javascript對(duì)象的設(shè)置有非獨(dú)占標(biāo)記的第一目標(biāo)堆內(nèi)存方法流程圖。

如圖3所示,該方法包括:

s301、確定javascript專用內(nèi)存中是否存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存;若確定javascript專用內(nèi)存中存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,執(zhí)行步驟s302;若確定javascript專用內(nèi)存中不存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,執(zhí)行步驟s303;

s302、從所述javascript專用內(nèi)存中確定第一目標(biāo)堆內(nèi)存,所述第一目標(biāo)堆內(nèi)存的剩余空間不小于所述javascript對(duì)象的大?。?/p>

s303、比較所述javascript對(duì)象的大小與預(yù)設(shè)的堆內(nèi)存的大??;當(dāng)所述javascript對(duì)象的大小不大于預(yù)設(shè)的堆內(nèi)存的大小時(shí),執(zhí)行步驟s304;當(dāng)所述javascript對(duì)象的大小大于預(yù)設(shè)的堆內(nèi)存的大小時(shí),執(zhí)行步驟s305;

s304、從通用內(nèi)存中為所述javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所分配的堆內(nèi)存的大小與所述預(yù)設(shè)的堆內(nèi)存的大小相同,所分配的堆內(nèi)存設(shè)置有非獨(dú)占標(biāo)記;

s305、從通用內(nèi)存中為所述javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所分配的堆內(nèi)存的大小滿足所述javascript對(duì)象的存儲(chǔ)需求,所分配的堆內(nèi)存設(shè)置有非獨(dú)占標(biāo)記。

圖4為本申請(qǐng)實(shí)施例提供的另一種從javascript專用內(nèi)存中確定用于存儲(chǔ)所述javascript對(duì)象的設(shè)置有非獨(dú)占標(biāo)記的第一目標(biāo)堆內(nèi)存方法流程圖。

如圖4所示,該方法包括:

s401、確定javascript專用內(nèi)存中是否存在設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存;若確定javascript專用內(nèi)存中存在設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,執(zhí)行步驟s402、若確定javascript專用內(nèi)存中不存在設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,執(zhí)行步驟s404;

s402、確定javascript專用內(nèi)存中是否存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存;若確定javascript專用內(nèi)存中存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,執(zhí)行步驟s403;若確定javascript專用內(nèi)存中不存在剩余空間不小于所述javascript對(duì)象的大小的設(shè)置有非獨(dú)占標(biāo)記的堆內(nèi)存,執(zhí)行步驟s404、

s403、從所述javascript專用內(nèi)存中確定第一目標(biāo)堆內(nèi)存,所述第一目標(biāo)堆內(nèi)存的剩余空間不小于所述javascript對(duì)象的大??;

s404、比較所述javascript對(duì)象的大小與預(yù)設(shè)的堆內(nèi)存的大小;當(dāng)所述javascript對(duì)象的大小不大于預(yù)設(shè)的堆內(nèi)存的大小時(shí),執(zhí)行步驟s405;當(dāng)所述javascript對(duì)象的大小大于預(yù)設(shè)的堆內(nèi)存的大小時(shí),執(zhí)行步驟s406;

s405、從通用內(nèi)存中為所述javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所分配的堆內(nèi)存的大小與所述預(yù)設(shè)的堆內(nèi)存的大小相同,所分配的堆內(nèi)存設(shè)置有非獨(dú)占標(biāo)記;

s406、從通用內(nèi)存中為所述javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所分配的堆內(nèi)存的大小滿足所述javascript對(duì)象的存儲(chǔ)需求,所分配的堆內(nèi)存設(shè)置有非獨(dú)占標(biāo)記。

在本申請(qǐng)實(shí)施例中,優(yōu)選的,javascript對(duì)象攜帶回收標(biāo)識(shí),所述回收標(biāo)識(shí)指示javascript對(duì)象可被回收/不可被回收。

在本申請(qǐng)實(shí)施例中,優(yōu)選的,所述對(duì)象閾值的大小不大于所述預(yù)設(shè)的堆內(nèi)存的大小。

以上僅僅是本申請(qǐng)實(shí)施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求人員設(shè)置對(duì)象閾值的大小,以及預(yù)設(shè)的堆內(nèi)存的大小,在此不做限定。

本申請(qǐng)實(shí)施例提供一種javascript對(duì)象存儲(chǔ)方法,通過確定javascript對(duì)象的大小是否到達(dá)預(yù)設(shè)的對(duì)象閾值;若是,從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所述堆內(nèi)存設(shè)置有獨(dú)占標(biāo)記;將所述javascript對(duì)象存儲(chǔ)至所述堆內(nèi)存中的方式,保證了大小到達(dá)預(yù)設(shè)的對(duì)象閾值的javascript對(duì)象在一堆內(nèi)存中的單獨(dú)存儲(chǔ),使得在進(jìn)行javascript對(duì)象回收時(shí),所述javascript對(duì)象占用的堆內(nèi)存的回收與其他javascript對(duì)象占用的堆內(nèi)存的回收之間互不影響,進(jìn)而實(shí)現(xiàn)了節(jié)省通用內(nèi)存,提高數(shù)字電視中間件的運(yùn)行效率的目的。

圖5為本申請(qǐng)實(shí)施例提供的一種javascript對(duì)象存儲(chǔ)裝置的結(jié)構(gòu)示意圖。

如圖5所示,該裝置包括:

javascript對(duì)象確定單元51,用于確定javascript引擎在處理javascript腳本的過程中產(chǎn)生的javascript對(duì)象;

對(duì)象閾值確定單元52,用于確定所述javascript對(duì)象的大小是否到達(dá)預(yù)設(shè)的對(duì)象閾值;

堆內(nèi)存分配單元53,用于若確定所述javascript對(duì)象的大小到達(dá)預(yù)設(shè)的對(duì)象閾值,從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所述堆內(nèi)存設(shè)置有獨(dú)占標(biāo)記;

存儲(chǔ)單元54,用于將所述javascript對(duì)象存儲(chǔ)至所述javascript專用內(nèi)存中的所述堆內(nèi)存中。

在本申請(qǐng)實(shí)施例中,優(yōu)選的,所述對(duì)象閾值的大小不大于所述預(yù)設(shè)的堆內(nèi)存的大小。

本申請(qǐng)實(shí)施例提供一種javascript對(duì)象存儲(chǔ)裝置,通過確定javascript對(duì)象的大小是否到達(dá)預(yù)設(shè)的對(duì)象閾值;若是,從通用內(nèi)存中為javascript專用內(nèi)存分配一個(gè)堆內(nèi)存,所述堆內(nèi)存設(shè)置有獨(dú)占標(biāo)記;將所述javascript對(duì)象存儲(chǔ)至所述堆內(nèi)存中的方式,保證了大小到達(dá)預(yù)設(shè)的對(duì)象閾值的javascript對(duì)象在一堆內(nèi)存中的單獨(dú)存儲(chǔ),使得在進(jìn)行javascript對(duì)象回收時(shí),所述javascript對(duì)象占用的堆內(nèi)存的回收與其他javascript對(duì)象占用的堆內(nèi)存的回收之間互不影響,進(jìn)而實(shí)現(xiàn)了節(jié)省通用內(nèi)存,提高數(shù)字電視中間件的運(yùn)行效率的目的。

圖6為本申請(qǐng)實(shí)施例提供的一種javascript對(duì)象回收方法流程圖。

如圖6所示,該方法包括:

s601、在滿足javascript對(duì)象回收條件的情況下,從javascript專用內(nèi)存中確定第二目標(biāo)堆內(nèi)存,所述第二目標(biāo)堆內(nèi)存中的每個(gè)javascript對(duì)象攜帶的回收標(biāo)識(shí)均指示javascript對(duì)象可被回收;

可選的,可選的,滿足javascript對(duì)象回收條件,包括:接收到j(luò)avascript對(duì)象回收請(qǐng)求。

所述在滿足javascript對(duì)象回收條件的情況下,從javascript專用內(nèi)存中確定第二目標(biāo)堆內(nèi)存,包括:響應(yīng)接收到的javascript對(duì)象回收請(qǐng)求,從所述javascript對(duì)象回收請(qǐng)求指示的javascript專用內(nèi)存中確定第二目標(biāo)堆內(nèi)存。

s602、釋放所述第二目標(biāo)堆內(nèi)存中的每個(gè)javascript對(duì)象。

本申請(qǐng)實(shí)施例提供一種javascript對(duì)象回收方法,通過提供針對(duì)所述javascript對(duì)象存儲(chǔ)方法的javascript對(duì)象回收方法,實(shí)現(xiàn)了對(duì)javascript專用內(nèi)存的回收。

圖7為本申請(qǐng)實(shí)施例提供的一種javascript對(duì)象回收裝置的結(jié)構(gòu)示意圖。

如圖7所示,該裝置包括:

第二目標(biāo)堆內(nèi)存確定單元71,用于在滿足javascript對(duì)象回收條件的情況下,從javascript專用內(nèi)存中確定第二目標(biāo)堆內(nèi)存,所述第二目標(biāo)堆內(nèi)存中的每個(gè)javascript對(duì)象攜帶的回收標(biāo)識(shí)均指示javascript對(duì)象可被回收;

釋放單元72,用于釋放所述第二目標(biāo)堆內(nèi)存中的每個(gè)javascript對(duì)象。

本申請(qǐng)實(shí)施例提供一種javascript對(duì)象回收裝置,通過提供針對(duì)所述javascript對(duì)象存儲(chǔ)方法的javascript對(duì)象回收裝置,實(shí)現(xiàn)了對(duì)javascript專用內(nèi)存的回收。

本發(fā)明中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。

以上僅是本發(fā)明的優(yōu)選實(shí)施方式,使本領(lǐng)域技術(shù)人員能夠理解或?qū)崿F(xiàn)本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黑龙江省| 鄢陵县| 靖州| 民勤县| 镇赉县| 曲沃县| 吉安市| 广安市| 江口县| 贺兰县| 山西省| 自贡市| 天等县| 石屏县| 林周县| 个旧市| 邛崃市| 射洪县| 三门峡市| 东方市| 祁阳县| 龙胜| 启东市| 中方县| 应城市| 海城市| 淮南市| 页游| 腾冲县| 安化县| 繁昌县| 盐池县| 韶山市| 临江市| 大埔区| 龙岩市| 浙江省| 滦南县| 湘乡市| 永川市| 崇左市|