Android 文件系统与Android11 分区存储
一、Android文件系統(tǒng)
Android文件系統(tǒng)分為 內(nèi)部存儲(chǔ)(internal storage) 和外部存儲(chǔ)(external storage)
1.1 用一個(gè)表格來(lái)直觀對(duì)比一下兩者:
1.2 應(yīng)用的私有路徑
應(yīng)用在安裝之后,系統(tǒng)會(huì)自動(dòng)在內(nèi)部存儲(chǔ)和外部存儲(chǔ),分別建立應(yīng)用的私有存儲(chǔ)區(qū)域。
內(nèi)部存儲(chǔ) : data/user/0/packageName
外部存儲(chǔ) : storage/emulated/0/android/data/packageName
當(dāng)應(yīng)用卸載或者清除數(shù)據(jù)后,該區(qū)域文件會(huì)被刪除。
1.3 內(nèi)外部存儲(chǔ)圖解
二、 了解分區(qū)存儲(chǔ)
Android 10版本中,Google推出 分區(qū)存儲(chǔ)(scoped storage)的功能。
背景:
分區(qū)存儲(chǔ)功能是針對(duì)內(nèi)置的外部存儲(chǔ)來(lái)說(shuō)的,很多應(yīng)用喜歡在外部存儲(chǔ)的根目錄創(chuàng)建自己的文件夾,比如:storage/emulated/0/***
這樣做的好處:1. 當(dāng)不斷向該目錄存儲(chǔ)時(shí),應(yīng)用自己的容量不會(huì)變化; 2. 當(dāng)應(yīng)用卸載時(shí),該目錄下文件不會(huì)被刪除,可用于保存一些可持久性的文件。
但是也有壞處: 1. 對(duì)用戶來(lái)說(shuō),會(huì)有很多垃圾文件存在于手機(jī)中;2. 只要獲取到Read 和 Write權(quán)限,就可以隨意訪問外部存儲(chǔ)的任何目錄,信息安全存在隱患。
分區(qū)存儲(chǔ):
(更新:Android11為目標(biāo)平臺(tái)時(shí),可以使用文件直接路徑去訪問媒體,這是在Android10上沒有的,應(yīng)用的性能會(huì)略有下降,還是推薦使用MediaStore )
三、分區(qū)存儲(chǔ)適配
舊版存儲(chǔ)位置遷移
除了應(yīng)用的私有目錄和公共目錄,其他位置都稱為 舊版存儲(chǔ)位置,我們需要將舊版存儲(chǔ)位置的數(shù)據(jù)遷移到能兼容分區(qū)存儲(chǔ)的位置。
正確使用讀寫API
總結(jié)
以上是生活随笔為你收集整理的Android 文件系统与Android11 分区存储的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小满网络模型http1-http2 浏览
- 下一篇: android sina oauth2.