自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (10)
  • 收藏
  • 关注

原创 Android Native Crash Capture SDK

Android Native Crash Capturehttps://github.com/MiechalZhao/CrashCapture

2015-10-24 00:42:36 3430

原创 chromium audio 实现分析

分享chromium audio实现以及在Android平台的对接.

2014-12-10 23:31:22 5478 2

原创 chromium gpu 硬件加速 compositing

转载请注明出处 http://blog.csdn.net/typename powered by miechalzhao@gmail.com前言:

2014-11-18 17:44:19 4888

原创 Android Chromium for WebView代码结构

分享Android Chromium for WebView代码结构及各目录代码作用。

2014-11-07 18:40:43 16392

原创 Android 各个版本WebView

介绍Android 4.0及其以上版本的WebView内部结构实现以及WebView的渲染方式,WebKit for WebView VS Chromium for WebView。各个Android Webview版本的变化。

2014-10-27 16:02:57 111282 16

原创 Android WebView 开发详解(三)

介绍Android WebView 开发的WebSetting,详解settings当中困惑的地方以及对开发的提醒。并且分析Android 4.0以上版本针对WebSettings这一部分的具体实现。

2014-10-21 13:34:26 26317 1

原创 Android WebView 开发详解(二)

分享Android WebView 开发实战经验,WebView的各种主要的回调说明,详解回调的含义和用途,以及应用程序需要如何响应这些操作。

2014-10-17 18:02:43 74741 17

原创 Android WebView 开发详解(一)

详细介绍Android WebView开发,介绍WebView开发各个注意事项及其解决方法。

2014-09-07 01:17:28 131450 15

原创 网页加速之Prefetching VS Prerendering

对比prefetching 和 prerendering差异,以及目前浏览器厂商支持列表

2014-08-20 10:50:57 3657

原创 网页加速之Chromium 预加载 Prerendering

介绍chrome prerendering 背景,原理,性能测试及在chromium当中的实现

2014-08-19 18:01:24 10143 2

原创 网页加速之Link prefetching

介绍Link Prefetching 背景,原理,性能测试及在webkit当中的实现

2014-08-03 21:04:16 9095

原创 Android WebView findAll API Bug

Android系统开发过的大家不管是framework以上还是native,大家都会遇到过不同Android版本差异带来的问题,Deprecate这个词framework层接触比较多童鞋会见得相当多,甚至一些api还会有一些bug. 本人总结Android开发针对版本不同问题的个人心得:1.首先查看官方文档和framework源码,这里推荐一个网址在线查看android各个系统版本的源

2014-06-25 21:59:56 5616

原创 Android 分析应用程序占用native内存

Android 应用开发大家都知道可以通过DDMS来查看应用程序进程占用的内存大小;然而Native 内存并不能在虚拟堆上看到;Android系统基于Linux,这样的话其具备Linux的大多数特性;在Linux当中有不少方法可以查看进程占用的内存,可以采用图形界面工具,也可以采用命令,具体如何查看这边就不介绍了。     Android Native 内存查看:1.首先需要确保你的PC上

2013-10-27 19:14:00 14351 1

翻译 Webkit RefPtr and PassRefPtr Basic

RefPtr and PassRefPtr Basics历史:在webkit当中很多对象是使用引用计数方式。这种方式的实现是通过每个类当中拥有ref和deref成员函数用来递增和减小引用计数。每一个ref方法调用和deref相对应。当引用计数变为0时,这个对象就会被delete。在webkit当中的很多类实现这种模式的方法是继承RefCounted类模板。回到2005年,我们发现有

2013-08-07 23:05:22 2615

原创 Redhat配置git 服务器

一、安装git-core   下载git-core   wget  http://git-core.googlecode.com/files/git-1.7.9.tar.gz   tar –xlvf git-1.7.9   cd git-1.7.9   ./configure –prefix=/usr/local/      /*指定安装目录*/   make

2013-05-19 19:57:26 12493 2

原创 设计模式之工厂方法(factory method)

Factory Method 模式的核心用意:使得一个类的实例化延迟到子类,让子类决定实例化哪个具体的类。工厂是制造产品的,那这个工厂具体制造什么样的产品则根据各个产业领域不同而不同。但是工厂对外的只是产品,具体产品如何生产对用户来说是透明的。下面列出一副图来描述工厂方法的结构:上述图中Product是接口部分.ConcreteProduct是具体的产品接口实现

2012-12-20 22:29:37 2378

原创 一道有趣的GOOGLE算法题

问题描述:一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间。如果没有时间,空间的要求,那解法会相当的多,hash table,STL当中的set等都可以很方便的解决。网上大多的解法是基于基数排序,还有标记法。本人由于兴趣,采用交换标记法,代码如下:#include#includebool Rep

2012-12-01 23:01:28 2754

原创 全排列算法c++实现

问题:Given a collection of numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].Solution:#incl

2012-11-21 18:45:39 2038

原创 动态数组对比STL vector及其实现(c/c++)

c/c++动态数组动态数组 顾名思义能 动态增加内存的数组。 STL标准库中的vector具有类似的功能,c标准库的realloc也具有类似的功能,那为何还需要自己实现动态内存方式呢?对于追求效率,和有重要性能需求的我们来说,实现动态数组能让我们的程序运行的更有效率,下面分别谈一下vector 和realloc.1.vector再STL标准库的实现当中,vector内存不够时,会动态的

2012-11-20 11:29:03 7502

翻译 15个常用的gcc 命令选项

GCC编译器非常强大 ,在各个发行的linux系统中都非常流行,本文介绍的是一些常用的gcc编译选项下面这段代码将回围绕整个文章:编辑main.c如下.#includeint main(void){ printf("\n The Geek Stuff\n"); return 0;}GCC编译选项1.指定输出可执行文件的名字使用最基本的gcc编译格

2012-11-18 22:41:34 30045 3

原创 terminate called throwing an exception" SIGABRT UIApplicationMain

问题:启动程序直接挂在UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));并且控制台和堆栈只显示main和UIApplicationMain.解决方法:1.首先排除由于iOS SDK最新版的兼容问题,如果是SDK问题,那直接修改SDK版本。2.针对这种情况,没有多余的有用信息,

2012-11-15 18:00:40 3219

原创 C语言不同增值语句区别

i++;++i;i +=1;i =i +1;在C语言代码中我们经常看到这样的增值语句,那么到底哪个语句效率最高呢?‘i++’表示取i的地址,把他装入寄存器当中然后增加内存中i的值。'++i'表示增加i的内容把它的值放入寄存器中。i +=1,i=i+1都是赋值操作。在早期编译器当中其被翻译成两条指令,因此大家会认为这样的效率底下。但在现代编译器中gcc,vc等区别已然

2012-10-03 10:53:45 2399

原创 android ndk not support pthread_cancel

转载请注明:  http://blog.csdn.net/typename/article/details/7794958下面是google关于这个问题的说法:Try changing your code so that your threads don't get stuck waitingindefinitely for i/o. For example used condit

2012-08-05 02:38:17 8468 2

原创 iphone gamecenter GKErrorDomain code =17

使用gamecenter 下载数据 或者上传数据时,遇到这个问题,说明gamecenter 没有这个ID,解决方法:需要检查程序bundle id中设定的category,是否与itunes connection 上gamecenter配置一致。若刚注册 gamecenter id, 此时下载数据并不会立马生效,需要过一阵子,大概几小时的样子,才能生效。测试的时候需要在沙箱

2012-05-28 17:22:52 2913

原创 c/c++ undefined reference to ‘funtion name'

undefined reference to `function name' 意思已经表达很清楚了,程序在链接的时候找不到这个函数的定义,如果这个函数是第三方的库的话, 需要检查是否在程序中导入了这个库的静态库,或者动态库, windows .lib,.dll, linux  .a .sowindows上需要在工程设置上加上 库的搜索路径==linux 如果是 ./configure

2012-05-16 13:00:15 2924

原创 ubuntu 11.10 nginx压力测试

最近app需要搭建后台,故此研究一下,靠谱的后台服务器..网传nginx 能达到的并发数量比apache 高. LAMP or LNMP ? 根据需求测试结果来进行选择。首先是安装LNMP测试完后 再测试 LAMP,网上很多,我这里就介绍一下自己在ubuntu 安装webbench(压力测试工具)http://home.tiscali.cz/~cz210552/webbench.html1

2012-04-26 16:58:49 5224 1

原创 gamecenter peer - to -peer

iOS GameCenter P2P要想使用GameCenterP2P对战功能,需要了解GKSession详见https://developer.apple.com/library/ios/#documentation/GameKit/Reference/GKSession_Class/Reference/Reference.htmlGKSession可以创建和管理移动网络蓝牙或者本地

2012-04-16 22:23:43 3256

原创 objective-c NSMutableDictionary 使用

NSMutableDictionary *tris = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",nil];NSEnumerator *enumerator =[tris keyEnumerator]; NSString* key; while ((key =

2012-03-15 22:06:15 1937

原创 android onResume is called before you unlock the phone

最近遇到一个问题,android上运行app当锁定屏幕,然后解锁.android 解锁屏幕之前会先调用onResume方法,有时候这并不是开发者想要的结果...比如声音在没解锁之前就播放 用户体验效果就有点差了...解决这个问题有两个方法,直接上代码了...1.@Override public void onWindowFocusChanged(boolean has

2012-03-12 21:06:14 3336 2

原创 memcpy的威力

有时候采用memcpy可以使程序的效率提高很多,有时候也会拖延程序的运行时间。对于c/c++内置类型建议不宜采用memcpy作为拷贝方式,可以直接操作其地址来达到赋值效果。比如将int 类型的数值拷贝到一段buffer当中,可以直接采用赋值方式example:uint8_t *buffer=new uint8_t[1024];int sendLength=100;*(int*)buff

2012-01-28 21:27:12 7732 1

原创 java 启动线程三种方式

1.继承Threadpublic class java_thread extends Thread{ public static void main(String args[]) { (new java_thread()).run(); System.out.println("main thread run "); } public synchronized void run

2012-01-20 16:32:01 105752 2

原创 bat + cmakelist搭建windows开发环境

更方便搭建windows开发环境,采用bat + cmakelist是个不错的idea。windows bat文件的使用在此就不多介绍。为了达到bat文件执行向cmake传递参数,有个不错的方法就是通过设置系统环境变量,等运行完bat 将这个环境变量删除。1.编写bat文件  需求是bat文件支持用户输入命令,读取用户输入命令,向cmakelist传递参数。 @echo off

2012-01-20 16:06:14 4066

原创 c++ class does not name a type

declare class does not name a type出现这个编译错误主要有四个可能原因,现总结如下:1.引用的类命名空间未包含2.引用的类头文件未包含3.包含了头文件,或者已经前置声明了,则说明所引用的类名写错。4.循环引用头文件前置声明要素:1.前置声明需要注意以上提到的四点2.尽可能的采用前置声明(做到只有包含继承类的头文件)3.使用前置声明

2012-01-03 21:26:34 128139 2

原创 Amf3协议分析与实现

前沿:     AMF(Action Message Format)是一种 二进制格式数据型态,AMF协议基于HTTP,将flash客户端数据编码后传回server,server端的remoting adaptor接收到数据后则会解码回正确的native对象,交给正确的程序处理,并以同样的数据组织方式响应客户端。AMF3相比较AMF0编码时经过高度压缩,因此非常适合用来传递大量的数据,根据fl

2011-12-10 14:28:21 22244 7

翻译 C 检测内存泄露

介绍:当程序员在堆上分配内存,忘了释放或者释放失败所申请的内存,内存泄露就随之出现,其一直是C代码 bug 的一部分。大多数程序员使用第三方库来检测自己的代码,其实可以在我们自己的程序上编写简单的代码来检测内存泄露,这样可以使得程序减少库的依赖。在C语言中申请内存通常使用malloc()和calloc(),释放的时候使用free()。有时候我们会忘记释放内存。下面介绍一下一个简单的方法检测程序

2011-12-09 22:50:22 6905 4

原创 forward declarations in c++

c++中的前置声明,只对该类的指针,SmartPtr)有效。如果要继承这个一个雷类,则必须包含这个类的定义部分。否则编译就会报错forward declarations of "XXXX".例子:example1:class A :pubilc B{};这时候需要include 类B的定义。example2:class B;//前置声明SMART_PTR(B);

2011-11-18 15:36:39 2816

原创 跨平台线程池实现

本线程池的作用是管理阻塞的网络操作函数的调用...每次网络操作调用都加入到线程池当中,然后线程回调函数执行 取任务的操作并执行这次任务。   线程池的设计    将线程池的所有操作都封装在类中...外界使用的话只需要new 一个这个线程池对象。    1.加任务函数    2.取任务函数    3.初始化线程池    4.销毁线程池   线程池的实现   实现跨

2011-10-14 18:04:24 2695 1

原创 willRotateToInterfaceOrientation not called

call use the follow method to do .Observe UIDeviceOrientationDidChangeNotification:[[NSNotificationCenter defaultCenter] addObserver:self se

2011-10-10 16:54:59 4147

原创 Android read system font

Android 读取系统字体(Android read system font)

2011-10-09 10:42:57 2968

原创 android获得系统GPU参数 gl.glGetString

通过文档的查找,以及源码的剖析,Android的GPU信息需要通过OpenGL来获取,android framework层提供GL10来获取相应的参数,而GL10要在使用自定义的View时才可以获得,下面是获得GPU信息的例子:1.实现Render类class DemoRenderer implements GLSurfaceView.Renderer { public void o

2011-08-31 14:06:00 18274 10

iOS gamecenter p2p

iOS gamecenter点对点连接开发介绍。

2012-04-16

JNI技术开发步骤详解

JNI技术在嵌入式软件开发中应用学些笔记

2010-08-22

FTP客户端源代码(采用winsock编写)

非常值得参考的FTP客户端源代码,采用winsock编写的客户端FTP程序。

2010-06-16

简单客户/服务器程序

采用windows socket API编写的能实现双方通信的功能!

2010-01-24

软件工程课后习题答案

软件工程课后习题答案(第5版)清华大学出版社,有详细的课后答案,为学习该课程提供很好的参考。

2009-10-29

计算机操作系统(汤子瀛)习题答案.pdf

计算机操作系统(汤子瀛)习题答案.pdf,比较详细的习题答案,有很大的参考价值。

2009-10-29

java国际认证1000例

对于学习java的基础知识,很有帮助的资料,可以帮助巩固基础知识,并熟练掌握它!

2009-10-24

一个JAVA详细内容的课件

不错的课件,包含的Java的多个主题,有助于初学Java,来全面了解Java

2009-06-16

一个不错的数据库课件

比较详细的数据库课件,内容也比较全,有利于入门学习掌握基本知识。

2009-06-16

空空如也

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

TA关注的人

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