本技術(shù)涉及終端設(shè)備領(lǐng)域,尤其涉及一種預(yù)讀方法及電子設(shè)備。
背景技術(shù):
1、隨著電子設(shè)備的功能越來越強大,電子設(shè)備中安裝的應(yīng)用程序也越來越多,用戶可以基于電子設(shè)備中安裝的應(yīng)用程序使用這些應(yīng)用程序提供的功能。目前,應(yīng)用啟動和轉(zhuǎn)場等的用戶場景使用過程中,由于內(nèi)存大小限制,內(nèi)存通常采用內(nèi)存回收機制。而由于該機制影響,應(yīng)用再次訪問內(nèi)存時可能會發(fā)生缺頁異常的現(xiàn)象,導(dǎo)致應(yīng)用啟動時間較長,影響用戶使用體驗。
技術(shù)實現(xiàn)思路
1、為了解決上述技術(shù)問題,本技術(shù)提供一種預(yù)讀方法及電子設(shè)備,有效提高應(yīng)用訪問內(nèi)存的效率。
2、第一方面,本技術(shù)提供一種預(yù)讀方法,該方法應(yīng)用于電子設(shè)備,方法包括:在應(yīng)用啟動的過程中,獲取應(yīng)用的文件訪問信息,文件訪問信息包括應(yīng)用啟動時需要訪問的多個文件及每個文件對應(yīng)的多個訪問地址。基于當(dāng)前內(nèi)存剩余空間狀態(tài),獲取預(yù)讀計算參數(shù)?;陬A(yù)讀計算參數(shù)和文件訪問信息,獲取應(yīng)用對應(yīng)的預(yù)讀采集信息;預(yù)讀采集信息包括多個文件中的至少一個文件的訪問地址信息,訪問地址信息包括n個訪問地址,n為大于0的整數(shù),且n值小于文件訪問信息中文件所對應(yīng)的訪問地址的數(shù)量,以及,每個文件對應(yīng)的n個訪問地址覆蓋對應(yīng)文件的多個訪問地址。在應(yīng)用下一次啟動過程中,基于預(yù)讀采集信息,讀取至少一個文件中每個文件對應(yīng)的n個訪問地址對應(yīng)的數(shù)據(jù)。這樣,本技術(shù)通過對應(yīng)用啟動所需的文件的訪問地址進行處理,將多個訪問地址轉(zhuǎn)換為n個訪問地址,可有效降低io訪問次數(shù)。并且,在本技術(shù)中,內(nèi)存剩余空間與預(yù)讀計算參數(shù)相關(guān)聯(lián),可根據(jù)內(nèi)存剩余空間的大小調(diào)整預(yù)讀計算參數(shù),從而提高預(yù)讀采集信息中的每個文件的n個訪問地址的覆蓋準(zhǔn)確率,提高數(shù)據(jù)預(yù)讀時的數(shù)據(jù)讀取速度。從而有效加快下一次應(yīng)用啟動場景的預(yù)讀速率,提高應(yīng)用啟動的效率,縮短應(yīng)用啟動時長,提高用戶使用體驗。
3、示例性的,n為一個較小的數(shù)值,例如為3~5之間的數(shù)值,通常情況下,文件對應(yīng)的多個訪問地址的數(shù)量較大,例如可能是幾十至上千個,通過設(shè)置一個較小的n值,將過多的訪問地址轉(zhuǎn)換為數(shù)量較小的訪問地址,可有效降低數(shù)據(jù)讀取過程中的io訪問次數(shù),降低存儲壓力,提高數(shù)據(jù)讀取速率。
4、在一種可能的實現(xiàn)方式中,預(yù)讀計算參數(shù)包括n值和步長閾值。這樣,本技術(shù)中基于內(nèi)存剩余空間獲取到的n值和步長閾值,可得到與內(nèi)存剩余空間大小相關(guān)聯(lián)的兩個數(shù)值,從而根據(jù)內(nèi)存剩余空間的變化而調(diào)整這兩個數(shù)值,以實現(xiàn)地址聚合的條件的動態(tài)調(diào)整,以適應(yīng)不同的使用場景。
5、在一種可能的實現(xiàn)方式中,基于當(dāng)前內(nèi)存剩余空間狀態(tài),獲取預(yù)讀計算參數(shù),包括:基于內(nèi)存剩余空間狀態(tài),計算n值;基于內(nèi)存剩余空間狀態(tài),計算步長閾值。這樣,本技術(shù)中基于內(nèi)存剩余空間獲取到的n值和步長閾值,可得到與內(nèi)存剩余空間大小相關(guān)聯(lián)的兩個數(shù)值,從而根據(jù)內(nèi)存剩余空間的變化而調(diào)整這兩個數(shù)值,以實現(xiàn)地址聚合的條件的動態(tài)調(diào)整,以適應(yīng)不同的使用場景。
6、在一種可能的實現(xiàn)方式中,基于預(yù)讀計算參數(shù)和文件訪問信息,獲取應(yīng)用對應(yīng)的預(yù)讀采集信息,包括:基于步長閾值,對每個文件的多個訪問地址進行地址聚合,得到每個文件對應(yīng)的n個訪問地址。這樣,本技術(shù)通過內(nèi)存剩余空間計算出步長閾值之后,可進一步基于步長閾值對地址進行聚合,從而得到縮小文件的訪問地址的數(shù)量,實現(xiàn)降低io訪問次數(shù)的效果,從而有效加快下一次應(yīng)用啟動場景的預(yù)讀速率,提高應(yīng)用啟動的效率,縮短應(yīng)用啟動時長,提高用戶使用體驗。
7、在一種可能的實現(xiàn)方式中,基于步長閾值,對每個文件的多個訪問地址進行地址聚合,得到每個文件對應(yīng)的n個訪問地址,包括:將每個文件中的多個訪問地址中滿足步長閾值指示的地址范圍的訪問地址進行地址聚合。在本技術(shù)實施例中,“滿足步長閾值指示的地址范圍”是指本次遍歷的訪問地址與上一次遍歷的訪問地址之間的步長小于步長閾值。其中,訪問地址之間的步長是指本次訪問地址的起始地址與上一次訪問地址的結(jié)束地址的差值。這樣,通過設(shè)置步長閾值作為地址聚合的條件,可將滿足條件的訪問地址進行合并,從而縮小訪問地址的數(shù)量,以降低數(shù)據(jù)讀取時的io訪問次數(shù)。
8、在一種可能的實現(xiàn)方式中,基于預(yù)讀計算參數(shù)和文件訪問信息,獲取應(yīng)用對應(yīng)的預(yù)讀采集信息,包括:基于預(yù)讀計算參數(shù)和文件訪問信息,獲取多個文件中的m個文件的訪問地址信息;基于m個文件對應(yīng)的訪問次數(shù),對m個文件進行排序;保留m個文件排序中的至少一個文件的訪問地址信息。這樣,通過對訪問次數(shù)進行排序,可以保留訪問次數(shù)較多的文件對應(yīng)的預(yù)讀采集信息,從而降低內(nèi)存占用。
9、在一種可能的實現(xiàn)方式中,基于預(yù)讀采集信息,讀取至少一個文件中每個文件對應(yīng)的n個訪問地址對應(yīng)的數(shù)據(jù),包括:基于合并預(yù)讀采集信息,讀取至少一個文件中每個文件對應(yīng)的n個訪問地址對應(yīng)的數(shù)據(jù),其中,合并預(yù)讀采集信息為基于預(yù)讀采集信息和最近一次獲取到的應(yīng)用對應(yīng)的預(yù)讀采集信息得到的。這樣,通過將本次和上一次的預(yù)讀采集信息合并,可以提高預(yù)讀采集信息的準(zhǔn)確率,以加快下一次預(yù)讀時的數(shù)據(jù)讀取速率。
10、第二方面,本技術(shù)提供一種電子設(shè)備,包括:一個或多個處理器、存儲器;以及一個或多個計算機程序,其中一個或多個計算機程序存儲在存儲器上,當(dāng)計算機程序被一個或多個處理器執(zhí)行時,使得電子設(shè)備執(zhí)行以下步驟:在應(yīng)用啟動的過程中,獲取應(yīng)用的文件訪問信息,文件訪問信息包括應(yīng)用啟動時需要訪問的多個文件及每個文件對應(yīng)的多個訪問地址;基于當(dāng)前內(nèi)存剩余空間狀態(tài),獲取預(yù)讀計算參數(shù);基于預(yù)讀計算參數(shù)和文件訪問信息,獲取應(yīng)用對應(yīng)的預(yù)讀采集信息;預(yù)讀采集信息包括多個文件中的至少一個文件的訪問地址信息,訪問地址信息包括n個訪問地址,n為大于0的整數(shù),且n值小于文件訪問信息中文件所對應(yīng)的訪問地址的數(shù)量,以及,每個文件對應(yīng)的n個訪問地址覆蓋對應(yīng)文件的多個訪問地址;在應(yīng)用下一次啟動過程中,基于預(yù)讀采集信息,讀取至少一個文件中每個文件對應(yīng)的n個訪問地址對應(yīng)的數(shù)據(jù)。
11、在一種可能的實現(xiàn)方式中,預(yù)讀計算參數(shù)包括n值和步長閾值。
12、在一種可能的實現(xiàn)方式中,當(dāng)計算機程序被一個或多個處理器執(zhí)行時,使得電子設(shè)備執(zhí)行以下步驟:基于內(nèi)存剩余空間狀態(tài),計算n值;基于內(nèi)存剩余空間狀態(tài),計算步長閾值。
13、在一種可能的實現(xiàn)方式中,當(dāng)計算機程序被一個或多個處理器執(zhí)行時,使得電子設(shè)備執(zhí)行以下步驟:基于步長閾值,對每個文件的多個訪問地址進行地址聚合,得到每個文件對應(yīng)的n個訪問地址。
14、在一種可能的實現(xiàn)方式中,當(dāng)計算機程序被一個或多個處理器執(zhí)行時,使得電子設(shè)備執(zhí)行以下步驟:將每個文件中的多個訪問地址中滿足步長閾值指示的地址范圍的訪問地址進行地址聚合。
15、在一種可能的實現(xiàn)方式中,當(dāng)計算機程序被一個或多個處理器執(zhí)行時,使得電子設(shè)備執(zhí)行以下步驟:基于預(yù)讀計算參數(shù)和文件訪問信息,獲取n個文件中的m個文件的訪問地址信息;基于m個文件對應(yīng)的訪問次數(shù),對m個文件進行排序;保留m個文件排序中的至少一個文件的訪問地址信息。
16、在一種可能的實現(xiàn)方式中,當(dāng)計算機程序被一個或多個處理器執(zhí)行時,使得電子設(shè)備執(zhí)行以下步驟:基于合并預(yù)讀采集信息,讀取至少一個文件中每個文件對應(yīng)的n個訪問地址對應(yīng)的數(shù)據(jù),其中,合并預(yù)讀采集信息為基于預(yù)讀采集信息和最近一次獲取到的應(yīng)用對應(yīng)的預(yù)讀采集信息得到的。
17、第二方面以及第二方面的任意一種實現(xiàn)方式分別與第一方面以及第一方面的任意一種實現(xiàn)方式相對應(yīng)。第二方面以及第二方面的任意一種實現(xiàn)方式所對應(yīng)的技術(shù)效果可參見上述第一方面以及第一方面的任意一種實現(xiàn)方式所對應(yīng)的技術(shù)效果,此處不再贅述。
18、第三方面,本技術(shù)提供了一種計算機可讀介質(zhì),用于存儲計算機程序,該計算機程序包括用于執(zhí)行第一方面或第一方面的任意可能的實現(xiàn)方式中的方法的指令。
19、第四方面,本技術(shù)提供了一種計算機程序,該計算機程序包括用于執(zhí)行第一方面或第一方面的任意可能的實現(xiàn)方式中的方法的指令。
20、第五方面,本技術(shù)提供了一種芯片,該芯片包括處理電路、收發(fā)管腳。其中,該收發(fā)管腳、和該處理電路通過內(nèi)部連接通路互相通信,該處理電路執(zhí)行第一方面或第一方面的任一種可能的實現(xiàn)方式中的方法,以控制接收管腳接收信號,以控制發(fā)送管腳發(fā)送信號。