我用后台页面bg.html和另一个UI页面ui.html编写了一个扩展程序。首次加载扩展时,我在任务管理器中看到它使用了大约 20mb 的内存。然后我打开了UI页面,内存上升到 170mb (UI非常复杂,我可能会问一个单独的问题)。当我关闭UI页面时,内存未完全释放( 160mb剩余)。我知道Chrome关闭页面后可能不会决定立即执行GC,但似乎它实际上从未释放过该内存(经过很长一段时间),而当我一次又一次打开页面时,它会消耗掉记忆越来越多。
这是正常行为吗?或者它是由我的代码中的一些内存泄漏引起的?如此巨大的内存消耗对用户来说非常可怕。
顺便说一下,我在dev工具中使用了堆快照,bg.html使用了5.3mb,而ui.html使用了7.5mb