Windows Phone資源文件
在開發(fā)應(yīng)用程序的過(guò)程中,或多或少都會(huì)預(yù)置一些資源文件在項(xiàng)目工程中。通過(guò)開發(fā)工具我們可以將資源文件添加到項(xiàng)目中,以便在程序中使用。
一.資源文件屬性BuildAction
1.BuildAction屬性常用的狀態(tài)有三種,即Content|Resource|None。
BuildAction屬性設(shè)置為Conten的文件將被作為獨(dú)立文件直接打包在xap文件中
BuildAction屬性設(shè)置為Resource的文件將被嵌入到xap包中的dll文件內(nèi)
BuildAction屬性設(shè)置為None的文件,將不會(huì)存以任何形式在于xap包中
2.選擇Content還是Resource。
微軟給出的解釋是使用”Content”要比“Resource”性能上好一些。因?yàn)閃indows Phone 7是為文件和網(wǎng)絡(luò)流做了優(yōu)化處理,但是Memory流卻沒有。設(shè)置成Content類型,這些文件將會(huì)作為獨(dú)立的文件存在xap包中,如果設(shè)置為 resource,他們會(huì)被編譯到dll中。如果把這些文件設(shè)置為Resource方式的話,它們實(shí)際上在回放的時(shí)候還需要讀取出來(lái)放到文件中,反而降低了性能。所以,如果你的程序中有大量的媒體文件的話,要想性能好,還是把它們的BuildActio設(shè)置為“Content”比較好一些。
二.資源文件的讀寫
1.資源文件是只讀的,無(wú)法進(jìn)行寫操作。
2.讀取資源文件。
- //資源文件路徑
- String path = "/Res/test.txt";
- //讀取文件內(nèi)容信息
- String content = String.Empty;
- //資源類型文件處理
- try
- {
- StreamResourceInfo reader = Application.GetResourceStream(new Uri(path, UriKind.Relative));
- if (reader != null)
- {
- using (StreamReader streamReader = new StreamReader(reader.Stream))
- {
- content = streamReader.ReadToEnd();
- }
- }
- }
- catch (Exception ex)
- {
- //讀取失敗
- }