[發(fā)明專利]基于安卓系統(tǒng)的跨進(jìn)程數(shù)據(jù)讀寫方法、裝置及存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202010772280.3 | 申請(qǐng)日: | 2020-08-04 |
| 公開(kāi)(公告)號(hào): | CN111984434A | 公開(kāi)(公告)日: | 2020-11-24 |
| 發(fā)明(設(shè)計(jì))人: | 胡斌;陳庭財(cái) | 申請(qǐng)(專利權(quán))人: | 北京智慧章魚科技有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54;G06F8/30 |
| 代理公司: | 上海漢聲知識(shí)產(chǎn)權(quán)代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 100080 北京市海淀區(qū)丹棱街18號(hào)1號(hào)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 系統(tǒng) 跨進(jìn) 數(shù)據(jù) 讀寫 方法 裝置 存儲(chǔ) 介質(zhì) | ||
本發(fā)明公開(kāi)了一種基于安卓系統(tǒng)的跨進(jìn)程數(shù)據(jù)讀寫方法、裝置及存儲(chǔ)介質(zhì),針對(duì)現(xiàn)有的安卓系統(tǒng)中跨進(jìn)程數(shù)據(jù)讀寫速度慢的問(wèn)題,通過(guò)判斷需要跨進(jìn)程讀寫的數(shù)據(jù)的業(yè)務(wù)進(jìn)程是否與SharedPreferences處于同一進(jìn)程,根據(jù)判斷結(jié)果,執(zhí)行不同的數(shù)據(jù)讀取路徑;以業(yè)務(wù)數(shù)據(jù)Key前綴路由的方式,盡量將用于存儲(chǔ)數(shù)據(jù)內(nèi)容的SharedPreferences放在與訪問(wèn)其最頻繁的一個(gè)進(jìn)程中,使得讀寫數(shù)據(jù)的業(yè)務(wù)進(jìn)程和SharedPreferences本身處于同一進(jìn)程的命中率非常高;從整體上提高了基于安卓系統(tǒng)的APP進(jìn)行跨進(jìn)程小數(shù)據(jù)讀寫速度。
技術(shù)領(lǐng)域
本發(fā)明屬于安卓系統(tǒng)數(shù)據(jù)讀寫的設(shè)計(jì)領(lǐng)域,尤其涉及一種基于安卓系統(tǒng)的跨進(jìn)程數(shù)據(jù)讀寫方法、裝置及存儲(chǔ)介質(zhì)。
背景技術(shù)
Android系統(tǒng)為了支持小數(shù)據(jù)的快速讀寫設(shè)計(jì)了SharedPreferences存儲(chǔ)。SharedPreferences存儲(chǔ)以Key和Value的形式,為用戶快速存儲(chǔ)小數(shù)據(jù)提供了輕量級(jí)的解決方案。在Android 7.0版本以前,開(kāi)發(fā)者可以通過(guò)在創(chuàng)建SharedPreferences時(shí)添加MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE的flag位來(lái)支持文件的跨進(jìn)程存儲(chǔ)的讀和寫。但是因?yàn)檫@種方法非常危險(xiǎn),會(huì)造成數(shù)據(jù)的不同步問(wèn)題;所以Android 7.0開(kāi)始已經(jīng)不支持創(chuàng)建SharedPreferences時(shí)用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE的flag位來(lái)實(shí)現(xiàn)數(shù)據(jù)的跨進(jìn)程讀寫。
為了實(shí)現(xiàn)跨進(jìn)程的數(shù)據(jù)讀寫問(wèn)題,某公司提出了在APP主進(jìn)程中使用一個(gè)繼承于類ContentProvider的子類PreferencesProvider對(duì)SharedPreferences讀寫存儲(chǔ)進(jìn)行封裝,從而支持?jǐn)?shù)據(jù)的跨進(jìn)程讀寫。由于ContentProvider天生支持跨進(jìn)程數(shù)據(jù)讀寫,所以該方案在跨進(jìn)程數(shù)據(jù)存儲(chǔ)方面實(shí)現(xiàn)起來(lái)非常方便。不過(guò)這種方案有一個(gè)非常大的弊端,當(dāng)讀寫數(shù)據(jù)的業(yè)務(wù)進(jìn)程和SharedPreferences本身在同一個(gè)進(jìn)程時(shí),也要通過(guò)PreferencesProvider來(lái)讀寫SharedPreferences。由于ContentProvider本身是一個(gè)大數(shù)據(jù)的操作,這種讀寫操作比直接訪問(wèn)SharedPreferences進(jìn)行數(shù)據(jù)讀取要慢很多,有些終端設(shè)備要花費(fèi)10ms左右完成跨進(jìn)程數(shù)據(jù)讀寫。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于安卓系統(tǒng)的跨進(jìn)程數(shù)據(jù)讀寫方法、裝置及存儲(chǔ)介質(zhì),可實(shí)現(xiàn)跨進(jìn)程小數(shù)據(jù)快速讀寫。
為解決上述問(wèn)題,本發(fā)明的技術(shù)方案為:
一種基于安卓系統(tǒng)的跨進(jìn)程數(shù)據(jù)讀寫方法,包括:
S1:當(dāng)服務(wù)端接收跨進(jìn)程操作請(qǐng)求時(shí),讀取發(fā)起所述跨進(jìn)程操作請(qǐng)求的業(yè)務(wù)進(jìn)程;
S2:判斷所述業(yè)務(wù)進(jìn)程是否與SharedPreferences在同一進(jìn)程中,若是,則直接訪問(wèn)所述SharedPreferences,進(jìn)行跨進(jìn)程數(shù)據(jù)讀寫;所述SharedPreferences為一支持?jǐn)?shù)據(jù)跨進(jìn)程讀寫的數(shù)據(jù)存儲(chǔ)空間;
S3:若否,則創(chuàng)建一中間類對(duì)所述SharedPreferences的讀寫存儲(chǔ)進(jìn)行封裝,使所述業(yè)務(wù)進(jìn)程通過(guò)所述中間類間接訪問(wèn)所述SharedPreferences,進(jìn)行跨進(jìn)程數(shù)據(jù)讀寫。
根據(jù)本發(fā)明一實(shí)施例,所述步驟S2進(jìn)一步包括:
創(chuàng)建一類LocalCacheHelper,為當(dāng)前進(jìn)程實(shí)例化一LocalCacheHelper對(duì)象,所述LocalCacheHelper對(duì)象為對(duì)當(dāng)前進(jìn)程中的SharedPreferences的存儲(chǔ)操作的封裝;
當(dāng)業(yè)務(wù)進(jìn)程需要訪問(wèn)的數(shù)據(jù)為當(dāng)前進(jìn)程時(shí),直接調(diào)用所述LocalCacheHelper對(duì)象,快速訪問(wèn)所述SharedPreferences。
根據(jù)本發(fā)明一實(shí)施例,所述步驟S3進(jìn)一步包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京智慧章魚科技有限公司,未經(jīng)北京智慧章魚科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010772280.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 跨進(jìn)程通信的方法和裝置
- 在鎖屏界面上展示信息的方法及裝置
- 金融網(wǎng)絡(luò)接入系統(tǒng)
- 基于安卓平臺(tái)的跨進(jìn)程通信方法和裝置
- 一種跨進(jìn)程數(shù)據(jù)的同步存取方法及系統(tǒng)
- 跨進(jìn)程發(fā)送打點(diǎn)日志的方法及裝置
- 基于安卓系統(tǒng)的跨進(jìn)程數(shù)據(jù)讀寫方法、裝置及存儲(chǔ)介質(zhì)
- 一種全鏈路追蹤方法、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 跨進(jìn)程通信方法、終端以及計(jì)算機(jī)可讀介質(zhì)
- 一種基于AOP的跨進(jìn)程通信的方法及裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





