2010-03-24 31 views
0

我正在開發一個桌面應用程序,該程序在提交到數據庫之前將生成多個內存數據集作爲中介。數據集大小最佳實踐 - 是否有任何一般規則?

很明顯,我會盡量保持這些尺寸最小,但是有沒有關於閾值的指導原則,我不應該在「平均」機器上交叉實現良好的功能?

感謝您的任何幫助。

回答

2

沒有「平均」機器。有大量仍在使用的計算機,包括那些運行DOS/Win3.1/Win9x並且安裝RAM少於64MB的計算機。 如果您沒有爲您的應用程序設置任何最低硬件要求,至少應考慮您計劃支持的最舊操作系統,並使用該操作系統的官方最低硬件要求來獲得較低的評估結果。

通常,如果您的應用程序要消耗大量RAM,您可能希望讓用戶配置應用程序內存管理機制的上限。也就是說,如果您決定根據實時數據動態管理上限,那麼您可以執行的操作不止一些。

如果您正在開發Windows應用程序,則可以使用WMI來獲取系統的total memory amount,並根據該值設置限制(例如,使用最多5%的總內存)。在.NET中,如果你的數據結構很複雜,並且你很難評估你使用的內存量,你可以使用GC.GetTotalMemory(false)或者使用System.Diagnostics.Process對象來查詢垃圾收集器分配的內存數量。