3 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個贊
與本地應(yīng)用程序相比,.NET應(yīng)用程序?qū)⒕哂懈蟮恼加每臻g,因?yàn)樗鼈兌急仨氃谶\(yùn)行時中加載運(yùn)行時和應(yīng)用程序。如果您想要真正整潔的東西,.NET可能不是最佳選擇。
但是,請記住,如果您的應(yīng)用程序大部分時間處于睡眠狀態(tài),則必要的內(nèi)存頁面將被換出內(nèi)存,因此在大多數(shù)情況下,實(shí)際上并不會給系統(tǒng)造成太大的負(fù)擔(dān)。
如果要減小占用空間,則必須考慮內(nèi)存使用情況。這里有一些想法:
減少對象的數(shù)量,并確保不要將任何實(shí)例保留的時間都超過所需的時間。
請注意,
List<T>
類似類型的設(shè)備在需要時會使容量增加一倍,因?yàn)樗鼈兛赡軐?dǎo)致多達(dá)50%的浪費(fèi)。您可以考慮使用值類型而不是引用類型,以在堆棧上強(qiáng)制使用更多內(nèi)存,但是請記住,默認(rèn)堆??臻g僅為1 MB。
避免使用超過85000字節(jié)的對象,因?yàn)樗鼈儗⑦M(jìn)入未壓縮的LOH,因此很容易碎片化。
無論如何,這可能不是一個詳盡的清單,而只是幾個想法。

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個贊
在這種情況下,您需要考慮的一件事是CLR的內(nèi)存成本。為每個.Net進(jìn)程加載CLR,因此會考慮內(nèi)存因素。對于這樣的簡單/小型程序,CLR的成本將決定您的內(nèi)存占用量。
與該基準(zhǔn)程序的成本相比,構(gòu)建一個實(shí)際的應(yīng)用程序并查看其成本將更具啟發(fā)性。
- 3 回答
- 0 關(guān)注
- 705 瀏覽
添加回答
舉報