自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1246)
  • 收藏
  • 关注

webview loadUrl() 弹出系统浏览器解决办法

有很多时候,我们请求的网站会直接跳转到一个位置,这样会直接全屏浏览器加载被跳转的网页,或者弹出浏览器选择(除了系统的,你还自己安装了其他浏览器)。于是解决办法的原理就是,在webview中跳转。办法一:mywebView.setWebViewClient(new WebViewClient() {public boolean shouldOverrideUrlLoad...

2012-11-22 16:38:00 768

Android4.0源码在Eclipse调试

以下操作都是在ubuntu10.04 64位linux环境下进行一.下载并编译系统源码具体步骤略,在源码的根目录成功执行make命令二.下载安装Eclipse具体步骤略三.配置eclipse修改eclipse配置,避免因eclipse出现内存不足,配置文件是位于eclipse安装目录下的eclipse.ini将默认参数-Xms40m -Xmx256m -...

2012-10-31 19:13:00 407

android 监听 APK 安装 与 删除等过程

这是我项目里需要在安装完应用后,马上能侦听到新的应用安装成功,并且更新相应的界面用到的1.项目里添加侦听类,然后配置文件加权限,就okimportandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.widget.T...

2012-10-23 16:12:00 536

C# winform导航界面..winform 用groupbox,button跟listview

winform利用button跟listview实现类似QQ设置中的导航菜单。主要利用了DockStyle。具体的代码如下:(注意)尤其要注意控件创建的顺序。我的控件的创建顺序如下(在.Design.cs中): this .groupBox1 = new System .Windows . Forms. GroupBox...

2012-10-16 09:23:00 780

四柱HanoiTower----是甜蜜还是烦恼

我想很多人第一次学习递归的时候,老师或者书本上可能会举汉诺塔的例子。但是今天,我们讨论的重点不是简单的汉诺塔算法,而是三柱汉诺塔的延伸。先来看看经典的三柱汉诺塔。一、三柱汉诺塔(Hanoi_Three):我想大家对于三柱汉诺塔的理解以及算法的实现应该是很熟练了。我在这里简单的过一遍三柱汉诺塔的算法思想:有A、B、C三根柱子,A柱上有n个盘子,现在需要将A上所有的盘子转移到C...

2012-10-16 09:21:00 381

STL的红与黑--rb_tree

红黑树,作为一种广泛使用的数据结构,我想大家应该都不会陌生。谈到红黑树的用途,最广为人知的应该就是红黑树在C++ STL中的应用了,在set, multiset, map, multimap等中,都应用了红黑树。但是,rb_tree本身并不开放给外界使用。今天,我将介绍,STL源码中,红黑树的具体实现(因为篇幅所限,这里不包括删除操作)。因为文章的主要目的是分析STL中的源码,所以...

2012-10-14 03:40:00 144

Android GestureDetector 手势基础

1. 当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(View v, MotionEvent event)方法,我们可以处理一些touch事件,但是这个方法太过简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦(因为我们要自己根据用户触摸的轨迹去判断...

2012-10-11 19:14:00 109

Android横竖屏的设置和使用

第一种,同时支持横屏和竖屏。1)这种方式如果屏幕的布局在横屏和竖屏没有明显的差异,是不需要设置的,系统会默认旋转。2)横屏和竖屏的布局明显的差异,比如横屏的时候可能会分成左右两屏,那么就需要我们进行相关的设置,这种情况下,一种布局文件是无法满足2种方向上的需要。步骤如下: 首先需要在androidmanifest.xml中加入配置android:configChange...

2012-10-11 11:05:18 128

WebViewClient与WebChromeClient的区别

Android应用开发的时候可能会用到WebView这个组件,使用过程中可能会接触到WebViewClient与WebChromeClient,那么这两个类到底有什么不同呢?WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:onLoadResourceonPageStartonPageFinisho...

2012-10-10 13:38:54 113

从编译ffmpeg/examples,进而了解pkg-config

在编译ffmpeg/doc/example的时候,发现该目录下只有一些.C文件和makefile,于是,很自然的输入:make。期待成功编译的结果,然而却报出了很多错误,主要错误如下:Package lib* was not found in the pkg-config search path.Perhaps you should add the directory cont...

2012-10-03 22:01:00 611

‘聪明的搜索算法’

A*算法是一种启发式的搜索算法。 了解BFS、DFS或者Dijkstra算法的人应该知道。这些算法都是一种向四周盲目式搜索的方法。启发式搜索: 启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无畏的搜索路径,提到了效率。在启发式搜索中,对位置的估价是十分重要的。不同的估价可以有不同的效果。因此,A*算...

2012-09-29 22:58:00 261

使用automake来写makefile

将设现在的文件目录project是这样的: main.c src inc在src中放入所有的.c文件:add.c 、hello.c。在inc中放入所有的.h文件:add.h 、hello.h。使用automake来写makefile的流程如下:1、写makefile.am 有三个地方需要写makefile.am: 1)、当...

2012-09-29 01:10:00 109

Chrome的线程体系

网上已经有网友duguguiyu针对Chrome的线程体系做了很专业的描述了,应该说从原理上已经很完整了。本文主要在网友的基础上从代码实现的角度上进行一些补充和分析。提到线程,我想大家关注的无非几点:线程的消息循环机制、多线程同步机制,线程间通信机制。本文也是从大家关注的几点来重点描述。在Chrome的代码中,与线程相关的文件主要在\base\base.vcproj中。主要包含...

2012-09-28 18:06:00 196

Chromium MessageLoop类分析

原文:Windows程序是基于消息的,不管其封装形式如何,最后都要包含如下代码Cpp代码MSGmsg;while(GetMesssage(&msg)){TranslateMessage(&msg);DispatchMessage(&msg);}大部分的工作都是在这个while循环里完成。 Ge...

2012-09-28 18:05:00 148

chromium消息循环机制

Chromium的线程模型和消息循环机制一直是其很有亮点也非常值得学习的一部分,关于这部分的工作原理网上有很多好文章,比如这篇、这篇还有这篇。但是这几篇文章基本是站在一定的高度上来概括其思想,而深入到代码里还有一些流程及细节问题,在此略做总结。首先,在线程启动时基本会按以下流程来启动消息循环:#1base::MessagePumpLibevent::Run base/message_pum...

2012-09-28 17:18:00 190

chromium源代码结构

Chrome源代码结构首先,开始接触Chrome的童鞋可能有一个疑惑,Chrome和Chromium是同一个东西吗?答案是,Chrome是Google官方的浏览器项目名称,Chromium是Google官方对Chrome开源项目。说白了就是Chrome是Google自己的官方浏览器版本,而Chromium是开源项目,所有有兴趣的开发者都可以参加,Chromium中出现的新技...

2012-09-28 16:05:00 425

Sandbox——沙箱技术,来自chromium开发文档

沙箱技术早在Windows2000的时候就已经出现了,但是因为大部分的人都不会接触到也没有机会应用这种技术,导致大部分的人根本就对这个没有印象。而在一本讲到沙箱技术的书上,上面的翻译是‘沙框’,当然这本书的翻译质量很是有些问题。在Windows操作系统上,沙箱实际上是一个内核对象,用一个句柄来存取的,用CloseHandle函数来销毁,这个内核对象与一个进程关联起来。这样,通过设计沙箱对象的属性,...

2012-09-28 16:00:00 269

关于Chromium沙箱技术(沙盒技术)

原文:http://blog.sina.com.cn/s/blog_496be0db0100w39p.html沙箱其实就是一个硬盘过滤文件驱动,具体来说,就是你把要写的东西写到了硬盘上,但实际上并没有写到硬盘,而是到了一个转存处,读取内容需要判断是沙箱开启之前就存在的内容还是开沙箱之后写入的内容,要分别从不同的地方读取内容,重启之后把转存的地方清零。文件过滤的驱动编写和加载方法...

2012-09-28 15:58:00 703

Chromium:线程模型,消息循环

转载自Soul Apogee本文链接地址:Chrome学习笔记(一):线程模型,消息循环看Chrome已经有一段时间了,但是一直都没有沉淀些内容下来,是该写写笔记什么的了,免得自己忘记了。看的都是Windows平台下的代码,所以记录也都是记录的。。。废话。。那么首先,先从最基础的东西记录起吧:Chrome的线程模型和消息循环。多线程的麻烦...

2012-09-28 15:56:00 136

优先级反转及解决方案

原文:http://blog.csdn.net/kendiv/article/details/17889661. 优先级反转(Priority Inversion) 由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统的崩溃。这就是所谓的优先级反转(Priority Inversion)。2. 产生原因 其...

2012-09-28 14:53:00 137

剑走偏锋的 Native Clien

原文:http://www.guao.hk/posts/cutting-edge-native-client.html不知不觉,Google已经正式推出其Native Client (NaCl)过去约7个月之久。而目前国内似乎还没有多少关于NaCl的资料,所以在这里面向Web开发者做一下简单的介绍,希望能够起到一个抛砖引玉的效果。本文的所有代码均来自于https://devel...

2012-09-26 17:51:00 101

闲话chromium线程模型

今天和朋友聊到关于chromium的线程模型的东西,在网上查了半天竟然没有哪篇能说清楚的,于是review了一下代码写点东西出来备忘一下,其实chromium(以下称为chrome)在对待多线程这个事情上的做法还是很值得一看的,chrome并不推荐过多的使用锁和threadsafe对象,在线程之间直接共享对象不可避免的设计操作原子性的问题;chrome的解决之道是通过command模式将对象隔...

2012-09-26 17:49:00 242

Chromium源代码周边相关

总体概览Chromium分为3个大模块(包括第三方库):浏览器,渲染器,WebKit。浏览器负责主进程,UI展现和I/O。渲染器一般是由浏览器调用的标签子进程。它嵌入WebKit中做布局和渲染。你应该熟读多进程架构和Chromium如何显示web页。快速介绍sln文件有2个sln文件,chrome.sln是使用V8引擎的普通版本,chrome_kjs.sln是使用Webki...

2012-09-26 17:48:00 97

chromium多进程资源加载

目录1。背景2。概述3。WebKit4.渲染器5。浏览器6.Cookies背景所有网络通信由主浏览器进程处理。这样做不仅使浏览器进程可以控制每个渲染器的访问网络,而且这样还使我们能保持如Cookies和缓存的数据等对话的数据贯穿所有的进程中。这一点很重要,这是因为,作为一个HTTP/1.1中用户端,一个浏览器不能对一个站点打开过多的连接。在Windows上,我们...

2012-09-26 17:46:00 147

Chromium如何显示网页(how Chromium displays web pages)

本文档从底层原理开始介绍了Chromium如何显示网页。阅读本文之前你应该首先阅读“Chromium的多进程架构”这篇文章,重点要理解主要组件结构图。您可能也有兴趣阅读“多进程资源加载“这篇文章来了解网页是如何从网络获取的。应用层次概念图layers每个盒子代表一个概念中的应用层。通常情况下应该有可能通过替换任意一层及其上层组建来生成一个新的浏览器...

2012-09-26 17:44:00 121

池化技术 漫谈

原文地址:http://blog.csdn.net/magictong/article/details/3143947池化技术 - 简单点来说,就是提前保存大量的资源,以备不时之需,O(∩_∩)O,对于线程,内存,oracle的连接对象等等,这些都是资源,程序中当你创建一个线程或者在堆上申请一块内存时,都涉及到很多系统调用,也是非常消耗CPU的,如果你的程序需要很多类似的工作线程或者需...

2012-09-26 15:07:00 71

浅谈chromium中的指针管理

前言在大型C++系统中对指针的管理通常至关重要,这跟对象的生命周期相关,存在如下方面的考虑:如何确保指针所指向的对象是在适当范围内是始终存在的?如何构建一种机制,确保能正确检测指针所指向对象是否有效?在chromium中对这类问题分别采用智能指针Scoped_refptr和弱指针WeakPtr来实现。Scoped_refptrScoped_ref...

2012-09-25 16:45:00 125

浏览器是如何工作的 - How Browser works(四)

布局Layout当渲染对象被创建并添加到树中,它们并没有位置和大小,计算这些值的过程称为 layout 或 reflow。Html使用基于流的布局模型,意味着大部分时间,可以以单一的途径进行几何计算。流中靠后的元素并不会影响前面元素的几何特性,所以布局可以在文档中从右向左、自上而下的进行。也存在一些例外,比如 html tables。坐标系统相对于根 frame,使用 ...

2012-09-25 15:39:00 153

浏览器是如何工作的 - How Browser works(三)

CSS解析CSS parsing还记得简介中提到的解析的概念吗,不同于html,css属于上下文无关文法,可以用前面所描述的解析器来解析。Css规范定义了css的词法及语法文法。看一些例子:每个符号都由正则表达式定义了词法文法(词汇表):comment///*[^*]*/*+([^/*][^*]*/*+)*//num[0-9]+|[0-9]*"."[0-9]...

2012-09-25 15:39:00 157

浏览器是如何工作的 - How Browser works(二)

解析Parsing-general既然解析是渲染引擎中一个非常重要的过程,我们将稍微深入的研究它。首先简要介绍一下解析。解析一个文档即将其转换为具有一定意义的结构——编码可以理解和使用的东西。解析的结果通常是表达文档结构的节点树,称为解析树或语法树。例如,解析“2+3-1”这个表达式,可能返回这样一棵树。图5:数学表达式树节点文法Grammars...

2012-09-25 15:38:00 194

浏览器是如何工作的 - How Browser works(一)

转自:http://blog.csdn.net/zzzaquarius/article/details/6532299简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。将讨论的浏览器今天,有五种主流浏览器——IE、Firefox、Safari、Chrom...

2012-09-25 15:37:00 463

Chromium进程间的通信机制浅析(android版本)(三)

部分内容来源于本文:http://blog.csdn.net/qq295445028/article/details/7993051一、消息格式如果说,多线程模式下,对数据的访问开销来自于锁,那么在多进程模式下,大部分的额外开销都来自于进程间的消息拆装和传递。不论怎么样的模式,只要进程不同,消息的打包,序列化,反序列化,组包,都是不可避免的工作。在Chrome中,IPC之间的通信消...

2012-09-24 17:28:00 129

Chromium进程间的通信机制浅析(android版本)(二)

一、 初始化流程每一个RenderProcessHostImpl(RenderProcessImpl)都会ChannelProxy(SyncChannel)—>ChannelProxy::Context—>Channel—>ChannelImpl—>ChannelReader依次初始化下去。并且将this指针传递给下一个类,这样发送消息时层层向下传递。接收消息时则逆向传...

2012-09-24 17:23:00 122

Chromium进程间的通信机制浅析(android版本)(一)

一、 综述Chromium的多进程模型意味着会有频繁的进程间通信,其中主要的IPC方式是命名管道。在遵循posix标准的操作系统中,通过UNIX域套接字来实现命名管道。每个render进程都会分配一个命名管道来与browser进程通信,并且该管道是以异步方式使用,以确保不会因等待而阻塞。Chrome最主要有三类进程,一类是Browser主进程;各个Render进程;另外还有一类是Plugi...

2012-09-24 17:15:00 226

以gtest为例为全组安装共享库

1. 下载gtest源码到自己的目录下,普通的configure、make2. sudo cp -r ./lib/.libs/* /usr/local/lib/ (特别注意,是.libs,一个隐藏文件)3. sudo cp -r ./lib/include/* /usr/local/include也就是说,这种共享库,实际上就是一个简单的拷贝。btw,别忘了,...

2012-09-21 16:37:00 75

Android 模拟器的上使用GPS的bug

由于最近研究Android 模拟器的GPS模块的实现,发现了模拟器GPS的bug。启动模拟器,通过DDMS发送经纬度,通过应用可以抓到数据,进入设置,安全与位置,关闭GPS,再打开,再次打开GPS测试软件,再次发送经纬度,怎么也收不到。查看了代码发现Android模拟器中完成GPS模块的功能主要是一个HAL层代码,通过socket接收发送过来的经纬度信息,其中代码是有问题的,GPS模块的工...

2012-09-21 15:09:00 314

Android 驱动和系统开发 2. 解析模拟器GPS模块 (原创)

好久没有写技术博客了,恰逢今天还感冒了,这破天气,晚上凉风一吹,就感冒了,要加强锻炼呀。好了,废话不多说,由于工作需要,我要移植一个虚拟的gps模块,于是乎,我就参考了android模拟器的gps模块的实现方法,只需稍微改动就完成了我的工作了,随后我也会附上我做的模块的代码,这里主要还是来解析下模拟器上的gps模块代码吧。相信做过android location方面应用的同志都知道,and...

2012-09-20 10:45:00 278

IE下设置unselectable与onselectstart属性的bug,Firefox与Chrome下的解决方案

在IE下给DIV设置unselectable与onselectstart属性,可以让div的内容不能选中,这个功能在很多情况下,非常有用,但是他的bug太明显,直接使用一个DIV是可以的,比如:<div unselectable="on" onselectstart="return false;">不能选中的内容</div>但是假如在这个DIV前面在出现一...

2012-09-18 19:18:00 119

lucene.Net--学习笔记(3)---C#'网络爬虫' 源码详解

我们知道,要想对数据进行检索,最基本也是最重要的东西就是数据本身了。本章介绍如何获取大量的网页信息。相信大家都听说过‘网络爬虫’,我们正是通过这种方式搜集网页的。一、下面首先简单的介绍一下网络爬虫的基本结构:简单的讲就是:1、从一个url开始搜索,将这个页面上的所有链接保存,放入一个queue中。2、接着从这个queue中取出一个url,重复第1步这个过程类...

2012-09-17 23:45:00 121

Android MMS模块数据存取 (转)

数据表MMS模块总共包含17张表:addr、android_metadata、attachments、canonical_addresses、drm、part、pdu、pending_msgs、rate、raw、sms、sr_pending、threads、words、words_content、words_segdir、words_segments。其中,pending_msgs表用于存...

2012-09-17 19:23:00 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除