Android儲存(2) 介面卡儲存

2021-09-11 09:48:04 字數 1447 閱讀 4008

android一直支援外部儲存配件(例如sd卡),但這些配件歷史上僅限於簡單的檔案儲存,因為它們預期的無常性和對傳統外部儲存提供的最小資料保護。 android 6.0引入了採用外部儲存介質作為內部儲存的能力。

當採用外部儲存介質時,它的格式和加密功能只能在乙個android裝置上同時使用。因為**與採用它的android裝置密切相關,所以它可以安全地為所有使用者儲存應用和私人資料。

當使用者在可接受的位置插入新的儲存介質(如sd卡)時,android會詢問他們如何使用介質。他們可以選擇採用格式化和加密的**,或者它們可以繼續使用它來簡單的檔案儲存。如果他們選擇採用,平台提供將主共享儲存內容(通常安裝在/ sdcard)遷移到新採用的介質,釋放內部儲存上的寶貴空間。與傳統儲存(由於使用mbr而限制為2tb)不同,可採用的儲存使用gpt,因此檔案儲存限制為〜9zb。

只有當開發人員通過android:installlocation屬性指示支援時,應用程式才能放置在所採用的儲存介質上。新安裝的受支援應用程式會自動放置在具有最大可用空間的儲存裝置上,使用者可以在「設定」應用程式的儲存裝置之間移動受支援的應用程式。在**彈出時,移動到已採用**的應用程式會被記住,並在重新插入**時返回。

平台為每個所採用的裝置隨機生成加密金鑰,並且該金鑰儲存在android裝置的內部儲存器上。這有效地使所採用的**與內部儲存一樣安全。基於所採用的分割槽guid,金鑰與所採用的裝置相關聯。採用的裝置使用配置了aes-cbc-essiv:sha256演算法和128位金鑰大小的dm-crypt進行加密

採用的裝置的磁碟布局緊密地反映了內部資料分割槽,包括selinux標籤等。當android裝置上支援多使用者時,所採用的儲存裝置還支援與內部資料隔離相同級別的多使用者儲存。

由於所採用的儲存裝置的內容與採用該儲存裝置的android裝置密切相關,所以加密金鑰不應該從主裝置提取,因此儲存裝置不能安裝在其他地方。

只有在穩定位置的外部儲存介質(例如電池盒內的插槽或保護蓋後面)才應考慮採用,以幫助避免意外的資料丟失或損壞。特別是,連線到手機或平板電腦的usb裝置不應被視為採用。乙個常見的例外是連線到電視型裝置的外部usb驅動器,因為整個電視機通常安裝在穩定的位置。

當使用者採用新的儲存裝置時,平台執行基準並將其效能與內部儲存進行比較。 如果所採用的裝置明顯慢於內部儲存,則平台向使用者警告可能惡化的體驗。這個基準**於流行的android應用程式的實際i/o行為。目前,aosp實現將僅警告使用者超過單個閾值,但裝置製造商可以進一步適應這一點,例如,如果卡非常慢,則完全拒絕採用。

所採用的裝置必須使用支援posix許可權和擴充套件屬性(如ext4或f2fs)的檔案系統進行格式化。 為了獲得最佳效能,建議將f2fs檔案系統用於基於快閃儲存器的儲存裝置。

當執行定期空閒維護時,平台向已採用介質發布fi_trim,就像對內部儲存一樣。 當前sd卡規範不支援discard命令;但是核心改為回退到erase命令,其中sd卡韌體可以選擇用於優化目的。

android學習 陣列介面卡 簡單介面卡

資料介面卡是將複雜的資料來源填充到指定的檢視介面中 1 陣列介面卡arrayadapter 用於繫結型別單一的資料,資料 可以是陣列或集合 2 簡單介面卡 adapter 也叫 並不簡單的簡單介面卡 用於繫結格式複雜的資料,資料 只能是特定泛型的集合 作用 介面卡是連線資料來源和檢視介面的橋梁 介面...

Android介面卡BaseAdapter詳解

次元立方 程式設計資料庫 安全設計 網頁系統 伺服器組網 嵌入式基礎 name loginwin id loginwin src allowtransparency true height 30 frameborder 0 scrolling no width 100 marginwidth 0 m...

Android介面卡頓

前段時間在開發專案時搞了一下過渡繪製的問題,乙個比較複雜的介面剛開發出來,過渡繪製95 紅,調了半天後,基本只有5 的紅,效果不錯,準備找個時間總結一下,今天剛好看到網上以為大神發了一篇文章,總結的不錯,順手牽過來啦,哈哈哈 使用者對卡頓的感知,主要 於介面的重新整理.而介面的效能主要是依賴於裝置的...