天天看點

Windows Phone 7的獨立外存

獨立外存或獨立存儲(Isolated Storage)并非Windows Phone引入的新概念。桌面作業系統早在.Net和Silverlight 2中就使用了獨立外存的資料存儲方式。所謂獨立是指不同應用程式的存儲空間彼此隔離。應用程式不能直接調用其他應用程式的存儲空間。使用獨立外存的目的是為了保證資料安全,避免未授權資料存取或者資料損壞。如果兩個應用程式之間需要共享資料,就要調用專門實作資料共享的服務來實作。

Windows Phone應用程式可以調用System.IO.IsolatedStorage命名空間中的類友善地存取獨立外存。使用IsolatedStorageFile和IsolatedStorageFileStream這兩個類相配合,開發者可以在獨立外存中存取任何目錄和檔案。系統還特别提供了IsolatedStoragSetting類,便于開發者在獨立外存中存取應用程式環境設定。此外IsolatedStorageException類用來處理獨立外存的異常操作。

這些類在Windows Phone中的使用方式同桌面系統基本一緻,隻有細微差别。首先Windows Phone中,獨立外存都是為應用程式配置設定的,沒有為網站配置設定的獨立外存。其次Windows Phone中,應用程式的獨立外存沒有配額大小限制。

開發者可以使用IsolatedStorageFile和IsolatedStorageFileStream這兩個類相配合,在獨立外存中建立、删除、儲存、擷取目錄和檔案。

同桌面系統或筆記本電腦相比,手機上的存儲空間非常有限。Windows Phone 7規定存儲空間不能小于256M,擴充存儲空間是最多8G的閃存。因為Windows Phone對獨立外存的使用沒有配額限制,開發者在設計和開發應用程式時應該自覺減小獨立外存占用。使用System.Runtime.Serialization命名空間的類對資料進行串行化(Serialization)是一種無損資料壓縮。在向獨立外存儲存資料之前對其進行串行化,以有效減少占用的存儲空間,而消耗的手機處理能力和電池電量非常有限。

開發者可以使用IsolatedStoragSetting類在獨立外存中存取應用程式的環境設定。應用程式被啟動和激活時應該從獨立外存中擷取環境設定,被關閉和暫停時應該将環境設定儲存到獨立外存。

繼續閱讀