為什麼絕大部分安卓手機都將ROM分為手機內部存儲和內置SD卡兩部分?
02-17
若手機支持SD卡擴展,就在文件系統中看到SD卡1 SD卡2 這不是一個坑么。。
這麼設計的理由是什麼?
這個事是歷史遺留問題了,其實是sdcard0和sdcard1,有外掛快閃記憶體就會有sdcard2(對的這種是從零始計的,程序員的嚴謹)
這種設計上因為早期sd卡穩定性差還有文件格式問題,所以把sd卡和應用安裝區域分開保障穩定性,後來又有人搞出了app2sd這種東西,讓很多人又應用裝在sd卡里和機身快閃記憶體里差不多的假象,早期卡頓的主要元兇就是app2sd這種違背設計原則的東西
從文件邏輯上來說,sd卡的作用是用來存儲用戶數據的,相當於一個資料庫,並不需要頻繁的讀寫,而應用和應用緩存這類是屬於系統擴展的存在,需要長期頻繁的讀寫,而不是所有sd卡都能長期在這種高負荷下工作,這樣就很容易導致sd卡故障,造成數據丟失無法讀寫等毛病,相信早期安卓用戶使用了app2sd的很多都遇上了這種情況,所以從之前安卓就有直接從內置快閃記憶體里劃分一部分用來安裝app,一部分用來存放文件,這樣不容易造成干擾,也是對快閃記憶體技術的不信任(三星字型檔門就是快閃記憶體故障),外置sd卡又是另一個分區,用來存放以媒體為主的只讀文件,還有一個原因就是為了兼容性不會把app安裝包做的很大,紅米的應用分區過小導致一些大應用裝不了幾個,通常的方法是應用只有主要程序,而資源數據另外做成一個數據包,或者從伺服器或者手動添加到指定文件夾放到應用分區外,這又是另一個歷史遺留問題了現在的情況是廠商直接把內置快閃記憶體做的很大從而取消了sd卡,或者另外支持sd卡同時杜絕了app2sd這種需求,而且有直接不把內置儲存分區(快閃記憶體技術可靠性更高了)刷機的時候,內置存儲會被清空。
推薦閱讀: