wai148
小狐狸
小狐狸
  • UID36030
  • 注册日期2011-04-18
  • 最后登录2012-02-12
  • 发帖数44
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:3077回复:8

about:memory 新功能?

楼主#
更多 发布于:2011-07-06 20:33
有什麼功用?
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-10-28
  • 发帖数18486
  • 经验4840枚
  • 威望5点
  • 贡献值4316点
  • 好评度1117点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2011-07-06 20:33
可以显示firefox总体内存占用,以及各部分分别的内存占用。
Firefox More than meets your experience
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
2楼#
发布于:2011-07-06 20:33
fang5566:可以显示firefox总体内存占用,以及各部分分别的内存占用。回到原帖


更重要的是可以手动清理内存垃圾  
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
fiey
非常火狐
非常火狐
  • UID28955
  • 注册日期2009-05-24
  • 最后登录2013-10-05
  • 发帖数735
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2011-07-06 20:33
手动清理感觉没差阿
清理不了多少
最重要的还是把BUG 解决了
z1581306xxxx
小狐狸
小狐狸
  • UID35205
  • 注册日期2011-02-06
  • 最后登录2011-11-07
  • 发帖数44
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
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();
gchao
非常火狐
非常火狐
  • UID15074
  • 注册日期2006-10-20
  • 最后登录2022-08-22
  • 发帖数660
  • 经验11枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
5楼#
发布于:2011-07-06 20:33
这个显示的还是不大好啊,根本看不明白到底是哪个扩展或者插件造成的啊。
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-10-28
  • 发帖数18486
  • 经验4840枚
  • 威望5点
  • 贡献值4316点
  • 好评度1117点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
6楼#
发布于:2011-07-06 20:33
目前还不具备查看某扩展内存占用功能,但7.0a以上支持手动点击回收内存。
Firefox More than meets your experience
CooB
千年狐狸
千年狐狸
  • UID2829
  • 注册日期2005-02-06
  • 最后登录2024-10-22
  • 发帖数2176
  • 经验140枚
  • 威望0点
  • 贡献值18点
  • 好评度3点
  • 社区居民
  • 忠实会员
7楼#
发布于:2011-07-06 20:33
fang5566:目前还不具备查看某扩展内存占用功能,但7.0a以上支持手动点击回收内存。回到原帖


我昨天装的6b1,就已经有about:memory页面和下面三个回收的按钮可用了。
Arch8314
小狐狸
小狐狸
  • UID35481
  • 注册日期2011-03-15
  • 最后登录2012-07-07
  • 发帖数8
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2011-07-06 20:33
有了内存明细表, 要抓扩展的内存使用也不难了.

在加载扩展时候在 gc heap内创建一个 root 节点.
使用 mozalloc 分配内存(不直接使用 new 和 malloc)
后续gc回收的三色标记进程就可以得到到该节点下的所有内存使用信息.
对于 js 的扩展以上两点可以很轻松的满足的.
游客

返回顶部