日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

google改進Android資料存儲方法,推出用來代替原本SharedPreferences的Jetpack DataStore測試版,Jetpack DataStore是以Kotlin協(xié)程和Flow功能為基礎(chǔ),并提供了Proto DataStore和Preferences DataStore兩種實例,Google提到,由于Jetpack DataStore的資料以異步、一致和交易的方式存儲,克服了SharedPreferences大多數(shù)的缺點。

Google推Android小資料存儲新方法

 

Proto DataStore使用Protocol Buffers(Protobufs),專門用來存儲類型對象,而Preferences DataStore則可儲存鍵值對,官方比較了SharedPreferences與這兩種新存儲實例的差異(下圖),新的實例功能明顯較多,除了具有資料交易API,能夠強健地保證資料一致性之外,也能夠使用Flow,更好地支持異步存儲。

Google解釋只有SharedPreferences才有,重新實例拿掉同步API的原因,官方提到,乍看之下,同步API可以安全地在UI線程上執(zhí)行調(diào)用,但實際上線程仍可以執(zhí)行磁盤I/O,而且Apply又會阻擋fsync上的UI線程,因此每當服務(wù)與活動啟動或是停止時,就會觸發(fā)暫停fsync調(diào)用。雖然Google在新的實例拿掉了同步API,不過在Jetpack DataStore中,Proto DataStore和Preferences DataStore卻可以安全地在UI線程上調(diào)用函數(shù)。

雖然兩個新實例都可以用來存儲資料,但是卻使用不同的存儲方式,Preference DataStore更像是原本的SharedPreferences,無法定義架構(gòu),也無法確定以正確的類型訪問鍵值,而Proto DataStore則讓開發(fā)者能以Protocol Buffers定義架構(gòu),且因為Protobufs可以保留強類型資料,與XML和其他格式相比,Protobufs更小更簡單,因此Google表示,雖然Proto DataStore需要開發(fā)者學習新的串行化機制,但是Proto DataStore帶來強類型架構(gòu)的優(yōu)勢。

DataStore僅適合用來存儲小且簡單的資料集,當需要部分更新、參照完整性或是支持大型且復雜的資料集等功能,則Google不建議使用DataStore,推薦開發(fā)者使用Room。目前DataStore仍處于Alpha測試階段,開發(fā)者可以先查看Google提供的范例程序,同時準備遷移,開發(fā)者可以使用DataStore構(gòu)建器,自動化遷移過程,但必需要注意的是,遷移程序必須在任何DataStore資料訪問發(fā)生前執(zhí)行。

分享到:
標簽:Android
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定