Hope Blog

Thinking will not overcome fear but action will.

Chromium 内存分析方法

Chromium 内存分析方法 本文仅仅对Chromium 中的内存分析工具做个简单的总结。想要知道具体某个分析方法的应该如何使用,请查看相对应的参考文档 前端分析工具 通常是使用DevTools里面的Memory提供的分析方式。一般是通过Heap snapshot来获取当前的堆快照,然后找到不在DOM树中,但被JS对象所引用的元素。我们通过搜索关键字”Detached“来查找这些元素。&...

PartitionAlloc

简介 PartitionAlloc 是一个为安全优化过的、高效的内存分配器 快 安全 特点 每个Partition的都是独立,且Partition中所拥有的内存,在释放相对应的物理内存后,虚拟内存仍被保留。因此Partition的虚拟内存是不会被别的Partition所使用(安全性) 每个Partition拥有一个PartitionBucket数组,Partition...

Electron Renderer进程无法在终端中打印日志的问题排查

结论 要打印Browser 进程日志时,需添加 --enable-logging 命令行参数 要打印Renderer 进程日志时,需添加 --enable-logging 和 --enable-sandbox (或者在electron app中调用app.enableSandbox()方法) 背景 最近有同事反馈,在electron中调试官方的electron-quick-st...

Chromium Threading and Task

Chromium Threading and Task 本文代码基于80.0.3987分支 在Chromium中,不仅有大名鼎鼎的多进程架构,还有自己分工明确的多线程架构。在Chromium的多线程架构中,是以Task作为调度的基本单位。 [TOC] Chromium 多线程设计思想 The main goal is to keep the main thread (a.k.a...

Android Webview WebSettings

WebSettings 以下是Android Webview的WebSettings的UML类图 android.webkit.WebSettings android.webkit.WebSettings是Android Webview对外暴露的webview相关属性的类。包含如下几大类的设置: InitialPageScale WebPreferences(Webkit...

Chromium 日志机制

Chromium 日志机制 C++ 层 在chromium中,提供了多种打日志的宏(下面简称日志宏)。这些日志宏都可以接受一个流的参数。例如 LOG(INFO) << "Found " << num_cookies << " cookies"; 剖析LOG LOG是Chromium中最常用的日志宏。下面分析 LOG(INFO) « “this is a...