<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
一個與往常一樣的上午,當我沉浸在業務需求中不可自拔時,突然被拉入到一個事故大群。一臉懵逼的我還以為和之前的每次線上bug一樣僅僅是個小問題時,殊不知是我簡單了...
看著群裡的聊天記錄,瞬間一種不好的預感湧上心頭。不會是哪個頁面寫了死迴圈了吧?
因為專案本身過於龐大,且使用者反饋不特定頁面崩潰,這使得問題定位難度較大。
經過團隊的討論認為可能是該使用者的組織架構介面資料量過大,當資料到達頁面後需要經過遞迴處理,導致記憶體不足,且通過偵錯發現並非初次呼叫該介面就會導致崩潰,而是需要多次呼叫才會出現該問題。
而且在偵錯的過程中還發現因資料量過大,該介面需要長達 30s 的時間才能返回。而這麼長的時間使用者可能已經離開這個頁面了。我們嘗試以這個場景進行操作發現,使用者離開頁面並沒有取消已經發出的請求,當該請求響應後會導致記憶體佔用飆升。
因該介面為專案全域性介面,經過討論我們決定先修復這個離開頁面不取消請求的問題,測試能否解決崩潰問題。
當我們在離開頁面時取消未完成的請求後,測試反饋仍然會不定時崩潰,此時的我們有點無從下手了。因為我們發現問題貌似有點大了。
此時我們已經開始懷疑出現了記憶體漏失,於是我們祭出了 chrome-devtool
使用 Memory
來進行記憶體佔用分析。
經過記憶體分析發現,記憶體中存在大量的分離元素未能及時回收。我按照記憶體快照的指引開始了漫長的修改。兩天的修改後發現,雖然修復了不少的問題,但是仍然不能有效的降低頁面的記憶體佔用,每當我們跳轉新的頁面時某些頁面仍然不能正常釋放。此時我為了高效定位問題,開始使用絕招——刪程式碼。
將頁面中的組織架構樹刪除——記憶體佔用沒降下來...
將頁面的列表刪除——很棒空頁面果真降下來了
將組織架構樹加上,列表刪除——記憶體又起來了...
此時的我認為組織架構樹的寫法有問題,所以花了兩天的時間過了一遍組織架構樹的程式碼,未發現有什麼異常的地方。
為了確認是組織架構樹的問題還是頁面列表的問題,我在專案中新建了兩個空白的路由頁面。在這個頁面中單獨使用這兩個元件,都沒有問題。
問題陷入了僵局...
在我們修復這個問題的期間,另一個使用者也反饋了相同的問題過來,不過使用者說他用的是edge瀏覽器。此時同事說edge好像可以撐的更久一點。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45