欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)預(yù)加載方法、程序及電子設(shè)備與流程

文檔序號:40611886發(fā)布日期:2025-01-07 20:56閱讀:14來源:國知局
本技術(shù)涉及終端應(yīng)用,尤其涉及一種數(shù)據(jù)預(yù)加載方法、程序及電子設(shè)備。
背景技術(shù)
::1、隨著電子設(shè)備的功能越來越強大,電子設(shè)備中安裝的應(yīng)用程序也越來越多,用戶可以基于電子設(shè)備中安裝的應(yīng)用程序使用這些應(yīng)用程序提供的功能。2、用戶在使用電子設(shè)備的過程中,頻繁啟動各種應(yīng)用,應(yīng)用啟動是最普遍且最能影響用戶感知的場景。一般情況下,依據(jù)應(yīng)用啟動時是否創(chuàng)建進(jìn)程以及是否創(chuàng)建界面activity,可將應(yīng)用啟動分為冷啟動、溫啟動和熱啟動三類:3、(1)冷啟動:應(yīng)用啟動過程中,創(chuàng)建進(jìn)程、創(chuàng)建activity以及顯示activity;4、(2)溫啟動:應(yīng)用進(jìn)程已存在,應(yīng)用啟動過程中僅創(chuàng)建并顯示activity;5、(3)熱啟動:應(yīng)用進(jìn)程和activity均已存在,僅將activity調(diào)至前臺顯示即可。6、這三種啟動負(fù)載差異較大,導(dǎo)致相應(yīng)的應(yīng)用啟動完成時間差異較大。7、針對應(yīng)用冷啟動,由于惰性分配機制,通常會發(fā)生缺頁異常的現(xiàn)象。在發(fā)生缺頁異常后,系統(tǒng)會將啟動過程中的應(yīng)用的線程放入阻塞隊列,直到缺頁異常的問題解決。例如,在發(fā)生缺頁異常后,為該應(yīng)用分配物理內(nèi)存,在分配的物理內(nèi)存中加載相關(guān)的文件數(shù)據(jù),并在用于存儲虛擬內(nèi)存到物理內(nèi)存的映射關(guān)系的頁表項(page?table?entry,pte)中填充該應(yīng)用的虛擬內(nèi)存到分配的物理內(nèi)存的映射關(guān)系,這就會導(dǎo)致應(yīng)用冷啟動的時間較長,用戶體驗較差。技術(shù)實現(xiàn)思路1、本技術(shù)的多個方面提供一種數(shù)據(jù)預(yù)加載方法、程序及電子設(shè)備,用于縮短冷啟動時延,提高用戶體驗。2、第一方面,提供了一種數(shù)據(jù)預(yù)加載方法,應(yīng)用于第一電子設(shè)備,所述方法包括:3、基于第一應(yīng)用第n次冷啟動完成,根據(jù)所述第一應(yīng)用的關(guān)鍵任務(wù)列表,確定所述第一應(yīng)用的主線程任務(wù)在所述第一應(yīng)用第n次冷啟動過程中所等待的涉及文件讀寫的第一線程任務(wù);4、確定所述主線程任務(wù)和所述第一線程任務(wù)各自在所述第n次冷啟動過程中訪問的第一文件頁;5、生成所述第一文件頁的快照;6、在磁盤中存儲所述第一文件頁的快照;7、基于所述第一應(yīng)用第m次冷啟動開始,依據(jù)從所述磁盤讀取到的所述第一文件頁的快照,將所述磁盤中所述第一文件頁的文件數(shù)據(jù)加載到物理內(nèi)存中;8、其中,n和m為整數(shù);n大于或等于1;m大于n。9、涉及文件讀寫的線程任務(wù)(也即后文中的與io相關(guān)的線程任務(wù))指的是需要訪問磁盤中的文件數(shù)據(jù)的線程任務(wù)。需要說明的是,磁盤中的文件數(shù)據(jù)需要加載到物理內(nèi)存中,才能夠被線程任務(wù)訪問,因此,這樣的線程任務(wù)涉及io等待。注:本技術(shù)實施例中的文件讀寫具體指的是磁盤文件讀寫。10、可選的,第一應(yīng)用第n次冷啟動完成時,根據(jù)所述第一應(yīng)用的關(guān)鍵任務(wù)列表,確定所述第一應(yīng)用的主線程任務(wù)在所述第一應(yīng)用第n次冷啟動過程中所等待的涉及文件讀寫的第一線程任務(wù)。11、可選的,響應(yīng)于第一應(yīng)用第n次冷啟動完成,根據(jù)所述第一應(yīng)用的關(guān)鍵任務(wù)列表,確定所述第一應(yīng)用的主線程任務(wù)在所述第一應(yīng)用第n次冷啟動過程中所等待的涉及文件讀寫的第一線程任務(wù)。12、可選的,所述第一應(yīng)用第m次冷啟動開始時或后的第一預(yù)設(shè)時間之內(nèi),依據(jù)從所述磁盤讀取到的所述第一文件頁的快照,將所述磁盤中所述第一文件頁的文件數(shù)據(jù)加載到物理內(nèi)存中。第一預(yù)設(shè)時間的時長可根據(jù)實際情況來設(shè)置,只要確保不耽誤預(yù)加載過程即可。13、可選的,響應(yīng)于所述第一應(yīng)用第m次冷啟動開始,依據(jù)從所述磁盤讀取到的所述第一文件頁的快照,將所述磁盤中所述第一文件頁的文件數(shù)據(jù)加載到物理內(nèi)存中。14、其中,第一文件頁的數(shù)量可以是一個或多個,多個指的是兩個及以上。15、可選的,所述關(guān)鍵任務(wù)列表中記錄有所述第一線程任務(wù)的名稱??蛇x地,所述關(guān)鍵任務(wù)列表中記錄有所述主線程任務(wù)和所述第一線程任務(wù)的名稱。16、可選的,關(guān)鍵任務(wù)列表中記錄有多個關(guān)鍵任務(wù)的名稱,這多個關(guān)鍵任務(wù)為所述主線程任務(wù)和所述第一線程任務(wù)。17、在實際應(yīng)用中,應(yīng)用冷啟動延時由主線程任務(wù)的時延決定。因此,將主線程任務(wù)以及主線程任務(wù)在冷啟動過程中所等待(或所依賴)的線程任務(wù)在冷啟動過程中所需要的文件頁預(yù)加載到物理內(nèi)存,可提高預(yù)加載有效性,進(jìn)而加速冷啟動過程。需要說明的是,第一應(yīng)用對應(yīng)有主線程任務(wù)和多個子線程任務(wù);第一應(yīng)用的主線程任務(wù)在應(yīng)用冷啟動過程中一般只需等待多個子線程任務(wù)中的一部分子線程任務(wù),那么,主線程任務(wù)在應(yīng)用冷啟動過程中無需等待的另一部分子線程任務(wù)所訪問的文件頁就無需預(yù)加載。也就是說,本方案是從應(yīng)用冷啟動過程中所訪問的文件頁中篩選出影響應(yīng)用冷啟動延時的部分文件頁,這樣,只加載或先加載這部分文件頁對應(yīng)的文件數(shù)據(jù)到物理內(nèi)存,可提高預(yù)加載有效性,減少這部分文件頁的預(yù)加載不及時的情況出現(xiàn),進(jìn)而縮短冷啟動時延。18、可選的,多個關(guān)鍵任務(wù)中存在系統(tǒng)線程任務(wù),也即第一線程任務(wù)包括系統(tǒng)線程任務(wù)。19、需要說明的是,第一應(yīng)用的主線程任務(wù)在冷啟動過程中有可能需要等待或依賴于第一應(yīng)用的部分子線程任務(wù),有可能需要等待或依賴于部分系統(tǒng)線程任務(wù)。因此,還需要將該系統(tǒng)線程任務(wù)對應(yīng)的文件頁預(yù)加載到物理內(nèi)存中,以縮短冷啟動時延。20、在第一方面的一種可選實施方式中,所述關(guān)鍵任務(wù)列表中記錄的關(guān)鍵任務(wù)是從x次關(guān)鍵路徑上涉及文件讀寫的第二線程任務(wù)中確定的;x為大于或等于1的整數(shù);21、第x次關(guān)鍵路徑指的是所述第一應(yīng)用在第二電子設(shè)備上的第x次冷啟動過程的關(guān)鍵路徑;x為整數(shù),x從1取到x;22、第x次關(guān)鍵路徑是根據(jù)所述第x次冷啟動過程中線程任務(wù)間的喚醒關(guān)系和/或切換關(guān)系繪制得到的;所述第x次關(guān)鍵路徑由所述主線程任務(wù)以及第x次冷啟動過程中所述主線程任務(wù)所等待的線程任務(wù)組成。23、應(yīng)用冷啟動過程的關(guān)鍵路徑的執(zhí)行時長決定了應(yīng)用冷啟動時延,可以認(rèn)為應(yīng)用冷啟動時延為關(guān)鍵路徑的執(zhí)行時長。24、需要說明的是,應(yīng)用在第二電子設(shè)備上的冷啟動過程中不涉及文件頁預(yù)加載??蛇x地,第一電子設(shè)備與第二電子設(shè)備屬于不同設(shè)備。25、本技術(shù)實施例中,通過關(guān)鍵路徑的繪制以及關(guān)鍵路徑上與io相關(guān)的任務(wù)的識別,確定出影響冷啟動時延的關(guān)鍵任務(wù)。26、可選地,第x次關(guān)鍵路徑上涉及文件讀寫的第二線程任務(wù)是根據(jù)第x次關(guān)鍵路徑上的線程任務(wù)在第x次冷啟動過程中是否存在io導(dǎo)致的不可中斷休眠狀態(tài)確定的。將第x次關(guān)鍵路徑上的在第x次冷啟動過程中存在io導(dǎo)致的不可中斷休眠狀態(tài)的線程任務(wù)確定為第二線程任務(wù)。27、也就是說,第二線程任務(wù)位于該次關(guān)鍵路徑上且在冷啟動過程中存在io導(dǎo)致的不可中斷休眠狀態(tài)(也即涉及文件讀寫)。28、由于系統(tǒng)狀態(tài)在不同時刻是不一樣的,因此,應(yīng)用每次冷啟動對應(yīng)的關(guān)鍵路徑也會存在差異。因此,上述x可以大于1。這樣,通過統(tǒng)計學(xué)方法從多次關(guān)鍵路徑中篩選出在后續(xù)冷啟動過程中大概率會影響應(yīng)用冷啟動時延的關(guān)鍵任務(wù),這樣,可提高影響應(yīng)用冷啟動時延的文件數(shù)據(jù)的預(yù)加載及時性和預(yù)加載有效性。29、可選的,所述關(guān)鍵任務(wù)列表中記錄的關(guān)鍵任務(wù)在所述x次關(guān)鍵路徑上的出現(xiàn)次數(shù)大于或等于預(yù)設(shè)次數(shù)閾值。30、預(yù)設(shè)次數(shù)閾值的大小可根據(jù)實際需要來設(shè)置,本技術(shù)對此不做具體限定。31、可選地,可根據(jù)所述第x次冷啟動過程中主線程任務(wù)處于休眠狀態(tài)時線程任務(wù)間的喚醒關(guān)系和/或切換關(guān)系,繪制第x次關(guān)鍵路徑。這樣,依據(jù)主線程任務(wù)的狀態(tài),可對大量的喚醒關(guān)系和切換關(guān)系進(jìn)行篩選,篩掉無關(guān)的喚醒關(guān)系和切換關(guān)系,進(jìn)而降低關(guān)鍵路徑的繪制難度和耗時。32、在第一方面的一種可選實施方式中,確定所述主線程任務(wù)和所述第一線程任務(wù)各自在所述第n次冷啟動過程中訪問的第一文件頁,包括:33、獲取所述主線程任務(wù)和所述第一線程任務(wù)各自所屬進(jìn)程對應(yīng)的頁表;34、從所述頁表中,確定所述主線程任務(wù)和所述第一線程任務(wù)各自在所述第一應(yīng)用第n次冷啟動過程中訪問的第一頁表項;所述第一頁表項的頁對象為文件頁;35、將所述第一頁表項對應(yīng)的文件頁確定為所述第一文件頁。36、可選地,所述第一應(yīng)用歷史冷啟動過程完成時,獲取上述頁表。37、可選地,響應(yīng)于第一應(yīng)用歷史冷啟動過程完成,獲取上述頁表。38、實際應(yīng)用中,存在如下兩種情況:39、第一種:關(guān)鍵任務(wù)列表中的多個關(guān)鍵任務(wù)同屬于第一應(yīng)用的進(jìn)程(也即多個關(guān)鍵任務(wù)中不存在系統(tǒng)線程任務(wù))。在這種情況下,第一應(yīng)用歷史冷啟動過程中多個關(guān)鍵任務(wù)各自訪問的頁表項均位于第一應(yīng)用的進(jìn)程對應(yīng)的頁表中。因此,只需要獲取第一應(yīng)用的進(jìn)程對應(yīng)的頁表即可。示例性的,將第一應(yīng)用的進(jìn)程對應(yīng)的頁表中與關(guān)鍵任務(wù)的標(biāo)識對應(yīng)的頁表項確定為第一頁表項。40、第二種:多個關(guān)鍵任務(wù)中一部分屬于第一應(yīng)用的進(jìn)程,另一部分屬于系統(tǒng)進(jìn)程(也即多個關(guān)鍵任務(wù)中存在系統(tǒng)線程任務(wù))。在這種情況下,第一應(yīng)用歷史冷啟動過程中屬于第一應(yīng)用的進(jìn)程的關(guān)鍵任務(wù)(簡稱第一關(guān)鍵任務(wù))訪問的頁表項位于第一應(yīng)用的進(jìn)程對應(yīng)的頁表中,第一應(yīng)用歷史冷啟動過程中屬于系統(tǒng)進(jìn)程的關(guān)鍵任務(wù)(簡稱第二關(guān)鍵任務(wù))訪問的頁表項位于系統(tǒng)進(jìn)程對應(yīng)的頁表(可簡稱系統(tǒng)頁表)中。因此,需要獲取所述第一應(yīng)用的進(jìn)程對應(yīng)的頁表和系統(tǒng)頁表??蛇x地,將第一應(yīng)用的進(jìn)程對應(yīng)的頁表中與第一關(guān)鍵任務(wù)的標(biāo)識對應(yīng)的頁表項確定為第一頁表項;將系統(tǒng)頁表中與第二關(guān)鍵任務(wù)的標(biāo)識對應(yīng)的頁表項確定為第一頁表項。由于系統(tǒng)頁表中記錄有從系統(tǒng)啟動之后各系統(tǒng)線程所訪問的頁表項,這些大部分頁表項與本次應(yīng)用啟動無關(guān)。因此,作為可選地,將系統(tǒng)頁表中在第一應(yīng)用歷史冷啟動過程中所填充的與第二關(guān)鍵任務(wù)的標(biāo)識對應(yīng)的頁表項確定為第一頁表項。這樣,可減少無用快照的數(shù)量,也能提高預(yù)加載有效性。41、在第一方面的一種可選實施方式中,所述方法,還包括:42、基于所述第一應(yīng)用第n次冷啟動開始,從所述第一應(yīng)用的配置文件中獲取所述第一應(yīng)用的關(guān)鍵任務(wù)列表。43、可選的,所述第一應(yīng)用第n次冷啟動開始時,從所述第一應(yīng)用的配置文件中獲取所述第一應(yīng)用的關(guān)鍵任務(wù)列表。44、可選的,響應(yīng)于所述第一應(yīng)用第n次冷啟動開始,從所述第一應(yīng)用的配置文件中獲取所述第一應(yīng)用的關(guān)鍵任務(wù)列表。45、在本技術(shù)實施例中,可提前獲取關(guān)鍵任務(wù)列表,這樣,可縮短預(yù)加載時延。46、為了避免重復(fù)執(zhí)行文件頁快照生成過程,可選地,基于所述第一應(yīng)用第n次冷啟動開始以及所述磁盤中不存在所述第一應(yīng)用對應(yīng)的文件頁快照,從所述第一應(yīng)用的配置文件中獲取所述第一應(yīng)用的關(guān)鍵任務(wù)列表。47、可選地,響應(yīng)于所述第一應(yīng)用第n次冷啟動開始,確定所述磁盤中是否存在所述第一應(yīng)用對應(yīng)的文件頁快照;若不存在,則從所述第一應(yīng)用的配置文件中獲取所述第一應(yīng)用的關(guān)鍵任務(wù)列表。48、在第一方面的一種可選實施方式中,基于第一應(yīng)用第n次冷啟動完成,根據(jù)所述第一應(yīng)用的關(guān)鍵任務(wù)列表,確定所述第一應(yīng)用的主線程任務(wù)在所述第一應(yīng)用第n次冷啟動過程中所等待的涉及文件讀寫的第一線程任務(wù),包括:49、基于所述第一應(yīng)用第n次冷啟動完成以及所述磁盤中不存在所述第一應(yīng)用對應(yīng)的文件頁快照,根據(jù)所述第一應(yīng)用的關(guān)鍵任務(wù)列表,確定所述第一應(yīng)用的主線程任務(wù)在所述第一應(yīng)用第n次冷啟動過程中所等待的涉及文件讀寫的第一線程任務(wù)。50、這樣,可避免重復(fù)執(zhí)行文件頁快照生成過程。51、在第一方面的一種可選實施方式中,所述方法,還包括:52、基于所述第一應(yīng)用第n次冷啟動完成,確定所述第一應(yīng)用的第四線程任務(wù)在所述第n次冷啟動過程中訪問的第二文件頁;所述第四線程任務(wù)不包括所述主線程任務(wù)和所述第一線程任務(wù);53、生成所述第二文件頁的快照;54、在所述磁盤中存儲所述第二文件頁的快照;55、基于所述第一應(yīng)用第m次冷啟動開始,依據(jù)從所述磁盤讀取到的所述第一文件頁的快照,將所述磁盤中所述第一文件頁的文件數(shù)據(jù)加載到物理內(nèi)存中,包括:56、基于所述第一應(yīng)用第m次冷啟動開始,從所述磁盤讀取所述第一文件頁的快照和所述第二文件頁的快照;57、根據(jù)所述第一文件頁的快照,將所述磁盤中所述第一文件頁的文件數(shù)據(jù)加載到所述物理內(nèi)存;58、所述第一文件頁的文件數(shù)據(jù)加載到所述物理內(nèi)存后,根據(jù)所述第二文件頁的快照,將所述磁盤中所述第二文件頁的文件數(shù)據(jù)加載到所述物理內(nèi)存中。59、可選地,所述第一應(yīng)用第m次冷啟動開始時或后的第一預(yù)設(shè)時間內(nèi),從所述磁盤讀取所述第一文件頁的快照和所述第二文件頁的快照。60、可選地,響應(yīng)于所述第一應(yīng)用第m次冷啟動開始,從所述磁盤讀取所述第一文件頁的快照和所述第二文件頁的快照。61、在本實施例中,第二文件頁快照對應(yīng)的文件數(shù)據(jù)的加載過程位于第一文件頁快照對應(yīng)的文件數(shù)據(jù)的加載過程之后,也就是說,第二文件頁快照對應(yīng)的文件數(shù)據(jù)的加載過程不影響第一文件頁快照對應(yīng)的文件數(shù)據(jù)的加載過程。這樣,不僅能夠保證較短的冷啟動時延,還能夠縮短第一應(yīng)用的其他線程任務(wù)的執(zhí)行延時,提高用戶使用體驗。62、在第一方面的一種可選實施方式中,所述第一文件頁的快照存儲在所述磁盤中所述第一應(yīng)用對應(yīng)的文件頁快照文件中的第一部分;所述第二文件頁的快照存儲在所述文件頁快照文件中的第二部分;在所述文件頁快照文件中,所述第一部分位于所述第二部分之前。63、這樣,后續(xù)預(yù)讀時,按照文件頁快照文件中文件頁快照的先后順序,依次加載文件頁快照對應(yīng)的文件數(shù)據(jù)到物理內(nèi)存,即可確保第一文件頁快照對應(yīng)的文件數(shù)據(jù)先加載到物理內(nèi)存,第二文件頁快照對應(yīng)的文件數(shù)據(jù)后加載到物理內(nèi)存,進(jìn)而縮短應(yīng)用啟動時延。64、在第一方面的一種可選實施方式中,所述第一應(yīng)用卸載時,刪除所述磁盤中存儲的所述第一應(yīng)用對應(yīng)的第一文件頁快照。65、卸載后,刪除所述磁盤中存儲的所述第一應(yīng)用對應(yīng)的第一文件頁快照和第二文件頁快債,可釋放磁盤存儲空間。66、在第一方面的一種可選實施方式中,所述方法還包括:67、在所述主線程任務(wù)和所述第一線程任務(wù)各自所屬進(jìn)程對應(yīng)的頁表中填充已加載到所述物理內(nèi)存中的文件數(shù)據(jù)對應(yīng)的頁表項。68、這樣,可減少缺頁情況發(fā)生,有助于縮短應(yīng)用啟動時延。69、在第一方面的一種可選實施方式中,所述第一文件頁的快照包括:所述第一文件頁中文件數(shù)據(jù)的文件名以及該文件數(shù)據(jù)在磁盤中的存儲地址。70、在第一方面的一種可選實施方式中,所述第二文件頁快照包括:所述第二文件頁中文件數(shù)據(jù)的文件名以及該文件數(shù)據(jù)在磁盤中的存儲地址。71、第二方面,本技術(shù)提供了一種計算機程序,當(dāng)所述計算機程序被電子設(shè)備執(zhí)行時,實現(xiàn)上述第一方面提供的方法。72、第三方面,本技術(shù)提供了一種電子設(shè)備,其中,包括:存儲器和處理器,其中,73、所述存儲器,用于存儲程序;74、所述處理器,與所述存儲器耦合,用于執(zhí)行所述存儲器中存儲的所述程序,以實現(xiàn)上述第一方面提供的方法。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
靖宇县| 鸡东县| 尤溪县| 白朗县| 庆阳市| 长治市| 广河县| 象山县| 巴马| 南江县| 房产| 平湖市| 广灵县| 泽州县| 会同县| 丰宁| 秦皇岛市| 正蓝旗| 哈巴河县| 航空| 乡城县| 仙游县| 洱源县| 专栏| 鄂尔多斯市| 盐城市| 大新县| 芜湖县| 台湾省| 怀来县| 宁城县| 侯马市| 广元市| 仁怀市| 台北市| 如东县| 进贤县| 威信县| 高邑县| 南陵县| 巴里|