自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android Binder通信机制学习

最近又跟着罗升阳的一书学习了一下binder这块的知识,本篇博客就做个学习总结,后面会给出一个binder通信的示例代码做为结束。binder驱动和通信库是binder的核心,驱动是用c语言编写的,通信库是c++写的,应用程序通过jni和底层的库产生联系,建议研究binder的读者先读完和这两本书做好研究准备,有时间的也可以学学。本文不打算详细分析binder的代码,老罗的书写的最详细

2013-12-29 21:00:20 5868 17

原创 Android Touch事件的分发过程

不知道你是否在涉及到Android触屏事件的时候有过如下的疑问:1.View的onTouchEvent()方法返回true和false有什么区别? SDK给出的解释很简单:"返回true代表该事件已经被处理过了,返回false则相反",这句话完全没有解释清楚问题。2.View的onTouchEvent()方法在处理ACTION_DOWN的时候返回true,在处理ACTION

2013-12-01 16:52:58 3945 3

原创 Linux信号相关笔记

最近又温习了一遍Linux中的信号知识,发现有很多东西以前没有注意到,就通过这篇博客记录一下,巩固一下知识点。信号基础:信号是什么?为了回答这个问题,首先要从异常说起,这里的异常不是指c++/java中的Exception,而是指控制流的一种突变。控制流指一个程序的指令序列,它在最简单的情况是平滑的,意味着上一条指令地址和下一条指令地址在存储器中是相邻的,但是程

2013-11-17 20:15:00 2579 4

原创 C/C++启动java虚拟机

Android系统基于Linux,它在用户空间的第一个进程是init进程,是属于native性质的进程,但是每个android应用都是跑在虚拟机下边的,第一个虚拟机进程zygote就是被init进程给fork出来的,这就涉及到了如何用native的c/c++代码启动jvm,本文就是做一个小示例来演示一下。新建一个目录,添加main.cpp,代码如下:#include#include

2013-01-15 10:13:33 4078 1

原创 Linux Qt 环境以及基础

搞了几天Qt,从搭配环境开始就遇到一坨坨的问题啊,很多东西又搜索不到,只能自己尝试了,在博客中记录一下,希望能帮助到有同样问题的人。1.Qt Linux下运行环境的配置:我这里配置环境是下载源码库下来自己编译一个SDK,这样有个好处是能看到源码方便学习.到http://qt-project.org/downloads这里下载东东,我的是ubuntu 10.04,下载了这两个:

2013-01-14 11:58:36 1165

原创 Linux JNI入门

最近关注于android的framework层,都是一堆堆的native,jni搞不定就没法看下去,就小研究了一下.为什么要使用jni?有如下理由:java标准库不支持与特定平台相关的一些功能,需要c/c++层给予支持可能已存在一个功能良好的库,并不想再用java重写,可以用jni调用它在某个功能点效率至关重要,用底层的语言实现更好(如c内嵌汇编)废话不多说,直接上个能跑的例子

2012-06-08 11:49:56 3898 1

原创 Java读写锁的代码

public final class ReadWriteLock{    private int readingReaders = 0; //实际正在读取的线程数量    private int waitingWriters = 0;//正在等待写入的线程数量    private int writingWriters = 0;//实际正在写入的线程数量    private bo

2011-08-03 11:00:45 1026 1

空空如也

空空如也

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

TA关注的人

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