javascript - 對象里的一些沒用了的數(shù)據(jù)大家是怎么處理的~
問題描述
向后端接口請求數(shù)據(jù) 返回 用戶信息 以及一個 網(wǎng)站列表
用戶信息 請求回來顯示了之后就沒有其他地方用了 但是用戶 網(wǎng)站列表 這個需要到處去用
在用 網(wǎng)站列表 的時候我是直接用返回回來的數(shù)據(jù)對象還是新建一個對象把 網(wǎng)站列表 的數(shù)據(jù)放進去
如果用原數(shù)據(jù)對象 那么對象里包含的用戶信息等一些已經(jīng)沒用了的數(shù)據(jù)就沒法被回收 不爽 還浪費內(nèi)存……
問題解答
回答1:你需要清楚的是,腳本語言編程中解釋器附帶了內(nèi)存回收機制,可以在 Chrome 的 Performance 中查看頁面的堆內(nèi)存占用和自動回收情況。
實際情況是,用于渲染頁面的數(shù)據(jù)量遠小于當(dāng)前的機器閾值水平。舉例:在我的地圖庫 http://sinomap.ewind.us 中,對表示中國地形在 2000 行水平的 JSON 數(shù)據(jù),每個有 10 條內(nèi)的簡單數(shù)字和 100 字內(nèi)的字符串。以 60fps 的幀率全量對其做簡單計算,內(nèi)存占用也不過 30M 左右。所謂【浪費內(nèi)存】的擔(dān)心在多數(shù)情況下是不現(xiàn)實的。
回答2:新建數(shù)據(jù)對象再拷貝數(shù)據(jù)是最浪費資源的方案,包括 CPU 和 內(nèi)存;
不處理直接使用原數(shù)據(jù),稍微占用內(nèi)存;
獲取原數(shù)據(jù)后刪掉無用數(shù)據(jù),占用 CPU 和 執(zhí)行時間;比較而言,通常選 2 ,對用戶體驗而言,響應(yīng)速度比內(nèi)存重要,除非內(nèi)存 OOM 。
相關(guān)文章:
1. 數(shù)組按鍵值封裝!2. angular.js - webpack build后的angularjs路由跳轉(zhuǎn)問題3. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?4. 老師,怎么不講一次性添加多個數(shù)據(jù)5. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數(shù)據(jù)都是全部出來的,如果分拆3次的話就沒問題,為什么呢。6. mysql - 大部分?jǐn)?shù)據(jù)沒有行溢出的text字段是否需要拆表7. pdo - mysql 簡單注入疑問8. Mysql取下一條記錄9. 表格對其 只涉及到對其,沒有涉及到大小,長寬還有背景色類的嗎10. mysql - SQL分組排序、隨機問題?
