mmkvandroid的簡單介紹

常用的android開發(fā)框架有哪些?

1、android應(yīng)用開發(fā)框架是 Application Framework,其系統(tǒng)架構(gòu)由5部分組成,分別是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。

禹會(huì)網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,禹會(huì)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為禹會(huì)成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的禹會(huì)做網(wǎng)站的公司定做!

2、greenDAO greenDAO是對sqlite的封裝的ORM框架,它具有輕量級(jí),性能高,簡單,能夠快速上手等優(yōu)點(diǎn)的一個(gè)框架。MMKV MMKV是基于mmap內(nèi)存映射的key-value組件,底層序列化/反序列化使用protobuf實(shí)現(xiàn),性能高,穩(wěn)定性強(qiáng)。

3、dhroid 是基于android 平臺(tái), 極速開發(fā)框架,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、代碼量少、學(xué)習(xí)簡單、功能強(qiáng)大、輕量級(jí)、易擴(kuò)展.使你更快,更好的開發(fā)商業(yè)級(jí)別應(yīng)用。

MMKV使用

MMKV實(shí)現(xiàn)了SharedPreferences接口,可以無縫切換 通過 mmap 內(nèi)存映射文件,提供一段可供隨時(shí)寫入的內(nèi)存塊,App 只管往里面寫數(shù)據(jù),由操作系統(tǒng)負(fù)責(zé)將內(nèi)存回寫到文件,不必?fù)?dān)心 crash 導(dǎo)致數(shù)據(jù)丟失。

MMKV是微信開源的數(shù)據(jù)持久化框架,現(xiàn)在已經(jīng)支持Android/iOS/PC 平臺(tái)。該框架是基于mmap映射內(nèi)存的key—value組件,使用protobuf實(shí)現(xiàn)數(shù)據(jù)的序列化和反序列化,性能高,穩(wěn)定性強(qiáng)。微信在2015就在微信應(yīng)用上使用了該框架。

MMKV 是基于 mmap 內(nèi)存映射的 key-value 組件,底層序列化/反序列化使用 protobuf 實(shí)現(xiàn),性能高,穩(wěn)定性強(qiáng)。

mmkv其實(shí)和SharePrefences一樣,有增刪查改四種操作。 MMKV作為一個(gè)鍵值對存儲(chǔ)組件,也對了存儲(chǔ)對象的序列化方式進(jìn)行了優(yōu)化。常用的方式比如有json,Twitter的Serial。而MMKV使用的是Google開源的序列化方案:Protocol Buffers。

Android跨進(jìn)程傳遞大數(shù)據(jù)

1、共享內(nèi)存在Android系統(tǒng)中主要的使用場景是 用來傳輸大數(shù)據(jù) ,并且 Android并沒有直接使用Linux原生的共享內(nèi)存方式,而是設(shè)計(jì)了Ashmem匿名共享內(nèi)存 。

2、由于Serializable效率過慢,為了在程序內(nèi)不同組件及進(jìn)程間(AIDL)高效的傳輸數(shù)據(jù),Android推出了Parceable的設(shè)計(jì),這些數(shù)據(jù)僅在內(nèi)存中存在。

3、直接將同一段內(nèi)存映射到數(shù)據(jù)發(fā)送進(jìn)程和數(shù)據(jù)接收進(jìn)程的用戶空間,這樣數(shù)據(jù)發(fā)送進(jìn)程只需要將數(shù)據(jù)拷貝到共享的內(nèi)存區(qū)域,數(shù)據(jù)接收進(jìn)程就可以直接使用數(shù)據(jù)了。

4、但是Intent的傳送效率也不是很高,特別是當(dāng)傳遞一些如Bitmap的大數(shù)據(jù),用Intent傳遞超過500K的Bitmap,就會(huì)造成Framework層的Java Binder掛掉,結(jié)果就是傳遞不成功。這點(diǎn)可以算成是Android的一個(gè)弊端,沒有很好的解決方案。

iOS進(jìn)階——微信開源存儲(chǔ)框架MMKV(一)

1、MMKV是微信開源的數(shù)據(jù)持久化框架,現(xiàn)在已經(jīng)支持Android/iOS/PC 平臺(tái)。該框架是基于mmap映射內(nèi)存的key—value組件,使用protobuf實(shí)現(xiàn)數(shù)據(jù)的序列化和反序列化,性能高,穩(wěn)定性強(qiáng)。微信在2015就在微信應(yīng)用上使用了該框架。

2、能從這些native方法中看到了所有MMKV的存儲(chǔ)方法,設(shè)置支持共享內(nèi)存ashemem的存儲(chǔ),支持直接獲取native malloc申請的內(nèi)存 接下來就是MMKV正式的初始化方法了。 這個(gè)方法實(shí)際上調(diào)用的是pthread_once方法。

3、MMKV 是基于 mmap 內(nèi)存映射的 key-value 組件,底層序列化/反序列化使用 protobuf 實(shí)現(xiàn),性能高,穩(wěn)定性強(qiáng)。

MMKV工具類封裝使用(kotlin)

1、它是開源的但這不是重點(diǎn),重點(diǎn)是它提供了一個(gè)高質(zhì)量的一鍵從 Java 轉(zhuǎn)換到 Kotlin 的工具,并且十分關(guān)注 Java 二進(jìn)制文件的兼容性。

2、DataStore 使用 Kotlin 協(xié)程和 Flow 以異步、一致的事務(wù)方式存儲(chǔ)數(shù)據(jù)。并且可以對SP數(shù)據(jù)進(jìn)行遷移,旨在取代SP。如果正在使用 SharedPreferences 存儲(chǔ)數(shù)據(jù),請考慮遷移到 DataStore。

Android五大存儲(chǔ)之SharedPreferences(二)

SharedPrefenerces 提供了線程安全操作(內(nèi)部有大量Synchronized方法),但是并不能保證跨進(jìn)程數(shù)據(jù)的安全,也就是在跨進(jìn)程訪問時(shí)可能會(huì)導(dǎo)致文件損壞(但并不局限于多進(jìn)程場景)。

正確答案:Android平臺(tái)提供的五種數(shù)據(jù)存儲(chǔ)方式,分別為文件存儲(chǔ)、SharedPreferences、SQLite數(shù)據(jù)庫、ContentProvider和網(wǎng)絡(luò)存儲(chǔ),這些存儲(chǔ)方式的特點(diǎn)如下。

SharedPreferencesSharedPreferences是Android中用于保存輕量級(jí)鍵值對數(shù)據(jù)的工具,可以用于保存用戶的首選項(xiàng)設(shè)置、登錄信息、應(yīng)用程序配置等需求。它基于XML文件實(shí)現(xiàn),可以實(shí)現(xiàn)快速的讀寫操作,適合存儲(chǔ)一些簡單的數(shù)據(jù)。

網(wǎng)頁名稱:mmkvandroid的簡單介紹
文章來源:http://muchs.cn/article18/dijdsgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站設(shè)計(jì)、全網(wǎng)營銷推廣網(wǎng)站排名、網(wǎng)站營銷、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營