為什麼絕大部分安卓手機都將ROM分為手機內部存儲和內置SD卡兩部分?

若手機支持SD卡擴展,就在文件系統中看到SD卡1 SD卡2 這不是一個坑么。。

這麼設計的理由是什麼?


這個事是歷史遺留問題了,其實是sdcard0和sdcard1,有外掛快閃記憶體就會有sdcard2(對的這種是從零始計的,程序員的嚴謹)

這種設計上因為早期sd卡穩定性差還有文件格式問題,所以把sd卡和應用安裝區域分開保障穩定性,後來又有人搞出了app2sd這種東西,讓很多人又應用裝在sd卡里和機身快閃記憶體里差不多的假象,早期卡頓的主要元兇就是app2sd這種違背設計原則的東西

從文件邏輯上來說,sd卡的作用是用來存儲用戶數據的,相當於一個資料庫,並不需要頻繁的讀寫,而應用和應用緩存這類是屬於系統擴展的存在,需要長期頻繁的讀寫,而不是所有sd卡都能長期在這種高負荷下工作,這樣就很容易導致sd卡故障,造成數據丟失無法讀寫等毛病,相信早期安卓用戶使用了app2sd的很多都遇上了這種情況,

所以從之前安卓就有直接從內置快閃記憶體里劃分一部分用來安裝app,一部分用來存放文件,這樣不容易造成干擾,也是對快閃記憶體技術的不信任(三星字型檔門就是快閃記憶體故障),外置sd卡又是另一個分區,用來存放以媒體為主的只讀文件,還有一個原因就是為了兼容性不會把app安裝包做的很大,紅米的應用分區過小導致一些大應用裝不了幾個,通常的方法是應用只有主要程序,而資源數據另外做成一個數據包,或者從伺服器或者手動添加到指定文件夾放到應用分區外,這又是另一個歷史遺留問題了

現在的情況是廠商直接把內置快閃記憶體做的很大從而取消了sd卡,或者另外支持sd卡同時杜絕了app2sd這種需求,而且有直接不把內置儲存分區(快閃記憶體技術可靠性更高了)


刷機的時候,內置存儲會被清空。


推薦閱讀:

TAG:手機 | Android刷機 | Android |