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ù)量遠(yuǎn)小于當(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. python - scrapy url去重2. python執(zhí)行cmd命令,怎么讓他執(zhí)行類似Ctrl+C效果將其結(jié)束命令?3. node.js - 微信小程序websocket連接問題4. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)5. 實現(xiàn)bing搜索工具urlAPI提交6. Python中使用超長的List導(dǎo)致內(nèi)存占用過大7. ios - 類似微博首頁,一張圖的時候是如何確定圖大小的?8. python - Django有哪些成功項目?9. 數(shù)據(jù)庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。10. 鏈接圖片時,鏈接不成功
