我正在開發一個桌面應用程序,該程序在提交到數據庫之前將生成多個內存數據集作爲中介。數據集大小最佳實踐 - 是否有任何一般規則?
很明顯,我會盡量保持這些尺寸最小,但是有沒有關於閾值的指導原則,我不應該在「平均」機器上交叉實現良好的功能?
感謝您的任何幫助。
我正在開發一個桌面應用程序,該程序在提交到數據庫之前將生成多個內存數據集作爲中介。數據集大小最佳實踐 - 是否有任何一般規則?
很明顯,我會盡量保持這些尺寸最小,但是有沒有關於閾值的指導原則,我不應該在「平均」機器上交叉實現良好的功能?
感謝您的任何幫助。
沒有「平均」機器。有大量仍在使用的計算機,包括那些運行DOS/Win3.1/Win9x並且安裝RAM少於64MB的計算機。 如果您沒有爲您的應用程序設置任何最低硬件要求,至少應考慮您計劃支持的最舊操作系統,並使用該操作系統的官方最低硬件要求來獲得較低的評估結果。
通常,如果您的應用程序要消耗大量RAM,您可能希望讓用戶配置應用程序內存管理機制的上限。也就是說,如果您決定根據實時數據動態管理上限,那麼您可以執行的操作不止一些。
如果您正在開發Windows應用程序,則可以使用WMI來獲取系統的total memory amount,並根據該值設置限制(例如,使用最多5%的總內存)。在.NET中,如果你的數據結構很複雜,並且你很難評估你使用的內存量,你可以使用GC.GetTotalMemory(false)
或者使用System.Diagnostics.Process
對象來查詢垃圾收集器分配的內存數量。