阅读:3077回复:8
about:memory 新功能?
有什麼功用?
|
|
1楼#
发布于:2011-07-06 20:33
可以显示firefox总体内存占用,以及各部分分别的内存占用。
|
|
|
2楼#
发布于:2011-07-06 20:33
|
|
|
3楼#
发布于:2011-07-06 20:33
手动清理感觉没差阿
清理不了多少 最重要的还是把BUG 解决了 |
|
4楼#
发布于:2011-07-06 20:33
这个是提取出来的释放内存代码(经测试,效果并不是很明显,而且 CPU 满满地;其原理应该是发个通知给堆内存来释放内存吧):
function sendHeapMinNotifications() { function runSoon(f) { var tm = Cc["@mozilla.org/thread-manager;1"] .getService(Ci.nsIThreadManager); tm.mainThread.dispatch({ run: f }, Ci.nsIThread.DISPATCH_NORMAL); } function sendHeapMinNotificationsInner() { var os = Cc["@mozilla.org/observer-service;1"] .getService(Ci.nsIObserverService); os.notifyObservers(null, "memory-pressure", "heap-minimize"); if (++j < 3) runSoon(sendHeapMinNotificationsInner); } var j = 0; sendHeapMinNotificationsInner(); } sendHeapMinNotifications(); |
|
5楼#
发布于:2011-07-06 20:33
这个显示的还是不大好啊,根本看不明白到底是哪个扩展或者插件造成的啊。
|
|
6楼#
发布于:2011-07-06 20:33
目前还不具备查看某扩展内存占用功能,但7.0a以上支持手动点击回收内存。
|
|
|
7楼#
发布于:2011-07-06 20:33
|
|
8楼#
发布于:2011-07-06 20:33
有了内存明细表, 要抓扩展的内存使用也不难了.
在加载扩展时候在 gc heap内创建一个 root 节点. 使用 mozalloc 分配内存(不直接使用 new 和 malloc) 后续gc回收的三色标记进程就可以得到到该节点下的所有内存使用信息. 对于 js 的扩展以上两点可以很轻松的满足的. |
|