360一键加速到底清理了什么东西?可否用Node实现?

其实我主要是想回收chrome浏览器的内存,每一次点击360的一键加速后,chrome的内存占用都会减少到一个很小的值,目前我正在用nwjs写一个桌面应用,这个功能会很关键。。谢谢大家~

阅读 2.4k
1 个回答

哈哈,两年前实习时候我有幸负责过竞品安全软件的类似的清理项目,当然我参与的东西比较肤浅,我来解答下吧!如有不足,还望多包容。清理的项目大致有垃圾文件(包括临时文件、回收站文件、浏览器缓存、日志文件等),无用注册表项(已经卸载但是残留在注册表中的程序)开机启动项,从而达到提速的目的,当然,还有内存整理功能,这个功能因为我没参与,只是听同事说起过,大致原理是将散落在内存中的碎片整理成连续的空闲内存块。
关于这几个项目的表述,我的回答有点一笔带过的意思,因为清理的过程并不容易,有时还会涉及一些流氓软件的识别,这些流氓软件通常也是被算作清理项目的,诸多的技术对抗过程不做赘述。

关于node实现的问题,我的想法是可以实现一小部分,这里给你一个我几年前写的代码示例:

const { exec } = require('child_process');

// 清理垃圾文件
exec('cleanmgr.exe /sagerun:1', (error, stdout, stderr) => {
  if (error) {
    console.error(`执行错误: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.error(`stderr: ${stderr}`);
});

// 清理无用注册表项
exec('regedit.exe /s path-to-reg-file.reg', (error, stdout, stderr) => {
  if (error) {
    console.error(`执行错误: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.error(`stderr: ${stderr}`);
});

不过需要注意的是,如果是开机加速之类的东西,就需要c,c++一类来实现了,对于操作系统的认识深度肯定是要提高的,相对于前面我提到的cookies,难度会大很多,内存整理应该也类似,网上有一些内存整理程序的demo,可以多看看(之前忘记保存类似的代码,因此无法分享给你了)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题