- 浏览: 155455 次
- 性别:
- 来自: 北京
最新评论
文章列表
Chromium多线程机制
- 博客分类:
- Chrom
前面我们介绍过Chromium是基于多进程模型的架构设计,那么各个进程内的情况呢?事实是每个进程都有很多的线程,特别是browser进程,因而它也基于多线程模型的。介绍多线程机制之前,先来看一下残酷的现实吧,下面是各个 ...
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
linux 下载文件
- 博客分类:
- linux
wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径
例如: # wget http://www.linuxsense.org/xxxx/xxx.tar.gz
简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载
...
Chromium多进程模型
- 博客分类:
- Chrom
概述
相信你一定有这样的经历:打开很多个页面,不幸的是其中某个页面不响应了或者崩溃了,随之而来的是更不幸的事,所有页面都不响应或者都崩溃了。最让人崩溃的是其中一些页面还有未保存或者未发送的信息!
这绝对是不堪回首的过去。但是,现在好了,现代浏览器很多都支持多进程模型,这个模型可以很好地避免上面的问题,虽然它很复杂而且也有自身的问题,例如更多的资源消耗,但是它的优势也是非常明显地。
chromium的多进程架构至少带来三点好处,其一是避免单个页面的不响应或者奔溃影响整个浏览器的稳定性;其二是当第三方插件奔溃时候不会影响页面或者浏览器的稳定性;其三是方便了安全模型的实施,也就是说沙箱模型是 ...
Chromium界面(UI)
- 博客分类:
- Chrom
Chromium的界面相当简洁,这是她的设计理念。大体上可以把界面分成两个主要部分:网页内容和外边的修饰控件(例如,tab管理,工具栏,设置按钮等)。
整个chromium浏览器是个顶层窗口。每个tab都对应一个顶层窗口的子窗口,每个网页内容都会绘制在一个子窗口中。当然这个是现有的窗口结构,但在新的views框架中,窗口将会被移除,详细的后面有专门介绍。 Chromium界面另一个主要的控件是设置按钮,里面包含了所有有关chromium属性设置的部分。值得一提的是,里面有很多设置界面都是由HTML来撰写的,而不是传统的语言,例如c/c++。这很大程度上得益于chromium的扩展机制及其提供 ...
WebKit和Chromium功能模块
- 博客分类:
- Chrom
在“WebKit,WebKit2,Chromium和Chrome介绍”中,大致了解了WebKit是一个渲染引擎,Chromium是一个浏览器,它们那么分别包含哪些不同的功能模块?它们是如何划分地?本章节来为大家详细解读一下。
WebKit:
HTML解析:负责HTML语言的解析
CSS解析:负责CSS的解析工作
图片解码:支持不同编码格式的图片
JavaScript引擎:JavaScript语言的解析引擎,缺省的是JavaScriptCore,但是目前Google 的V8 JavaScript被广泛使用
正则表达式
布局:负责布局(layout)的计算和更新工作
文档对象模型 ...
WebKit和Chromium代码目录结构介绍
- 博客分类:
- Chrom
WebKit和Chromium的代码量很大(这两个项目都是几百万行代码的级别,不包括它们依赖的第三方库),读起来是相当的不容易。但是良好的代码组织结构很好的帮助了开发者和学习者们,下面大致介绍一下它们的目录结构及其用处,方便了解和学习,进而快速地理解整个项目。因为目录实在太多,所以这里介绍其中主要的部分。
先来看看WebKit。(WebKit项目在chromium中的目录是src/third_party/WebKit)
再来看看Chromium。
概述
在介绍本系列各个专题之前,有必要先解释一下极其容易混淆的几个概念,它们是WebKit,WebKit2,Chromium和Chrome。
首先来了解WebKit。广义上来说,WebKit是一个开源的项目,其前身是来源于KDE的KHTML和KJS。该项目专注于网页 ...
mac 环境下Chromium编译记录
- 博客分类:
- Chrom
1.升级git到1.9之后的版本
2.获取depot_tools:
1.新建一个文件夹,地方随便
2.执行命令:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
3.在环境变量中添加:$ export PATH=`pwd`/depot_tools:"$PATH"
3.下 ...
Mac 设置环境变量
- 博客分类:
- Mac电脑
Mac 启动加载文件位置(可设置环境变量)
-------------------------------------------------------
(1)首先要知道你使用的Mac OS X是什么样的Shell,使用命令
echo $SHELL
如果输出的是:csh或者是tcsh,那么你用的就是C Shell。
如果输出的是 ...
一个是高版本的git如何安装?用git-osx-installer也好,用brew也好都可以。建议用brew安装:brew install git
另一个是如何让新装的git覆盖老的git?建议修改~/.bash_profile,加入以下内容:export PATH=/usr/local/bin:/usr/local/sbin:${PATH}这样可以让bash优先搜索/usr/local下的指令,而且不会覆盖老文件,比较安全。
cocos2d-X 创建项目
- 博客分类:
- Cocos2d
cocos2dX 2.X 创建项目
第一步,首先 cd cocos2d-x-2.2.1/tools/project-creator/
第二步, ./create_project.py -project HelloWorld -package com.example.HelloWorld -language cpp
第三步,到这里来找你的项目就可以了,cocos2d-x-2.2.1/projects/HelloTest
cocos2dX 3.X 创建项目
第一步:进入到目录cocos2d-x-3.x/tools/cocos2d-console/bin/cocos.py ...
Android Ant更新项目
- 博客分类:
- ant
通过更新项目,让项目自动生成build.xml文件。 查看当前的已安装的sdk版本: android list target
更新本项目,自动增加build.xml文件:
android update project -n HttpTestDowns -t 11 -p /Users/Ari/Desktop/LEE/HttpTestDown -n 对应的是项目名称 -t 就是我们之前查询的SDK版本对应的ID -p 就是生成的路径
在Mac下开发Android,要想在终端利用命令行使用adb/android等命令时,需要配置一下环境变量。
1.首先,假设你已经下载了Android SDK,解压后安装了adb。
记住sdk文件夹路径。
2.在终端中输入命令,进入用户目录。我的是/Users/jeff/
$cd ~
3.然后输入命令,该命令的作用是如果不存在.bash_profile文件,则创建该文件
$touch .bash_profile
4.然后输入命令,该命令的作用是用文本编辑器TextEdit打开.bash_profile文件。如果你是第一次配置 ...
Android中有的Ap功能比较复杂,为了方便用户使用,可以提供多个入口图标,每个入口图标对应一个功能。 如果想安装一个Apk在程序管理中出现多个图标,只要给相应的Activity增加intent-filter即可,类似于如下:
Xml代码
<ativity android:name="A2" android:label="A2">