Android
来自大山的孩子
这个作者很懒,什么都没留下…
展开
-
/dev/tty /dev/ttyn(0-n) /dev/console区别
原创 2016-09-20 10:43:56 · 1070 阅读 · 0 评论 -
android智能指针之轻量级指针
Android系统提供了三种类型的C++智能指针,分别为轻量级指针(light pointer),强指针(strong pointer)和弱指针(weak pointer)__attribute__((unused)):该属性定义的函数或变量可能不使用 告诉编译器不要产生警告信息在编译的时候C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const原创 2017-05-26 16:51:16 · 649 阅读 · 1 评论 -
Android Binder设计与实现 – 设计篇:
Android Binder设计与实现 – 设计篇:http://www.cnblogs.com/angeldevil/p/3296381.html Binder框架定义了四个角色:Server,Client,ServiceManager(以后简称SMgr)以及Binder驱动其中Server,Client,SMgr运行于用户空间,驱动运行于内核空间。这四个角色的关系和互联网类原创 2017-06-16 17:09:19 · 498 阅读 · 0 评论 -
android智能指针之强指针和弱指针
强指针的引用就是为了解决下面一种情景:对于上面情景,AB对像的代码关系可以表述如下:Class A:public LightRefbase{ Class B *b;}Class B:public LightRefbase{ Class A *a;}Int main(){/*下面是正常人的写法,会有问题因为AB释放时没有去判断AB是否被其它变量引用了.不能智能原创 2017-06-09 11:54:18 · 1532 阅读 · 0 评论 -
浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路:http://blog.csdn.net/luoshengyang/article/details/6621566 Servicemanager在用户空间的源码位于diordnr5.0.2\frameworks\native\cmds\servicemanager目录下bi原创 2017-06-21 10:34:31 · 459 阅读 · 0 评论 -
binder学习概述篇和路线图
Linux内核支持的进程间通信机制:a.管道pipe/*管道 2. 可以把管道想象为两个实体之间的单向连接器。注意,管道是半双工的, 3. 如果需要全双工通讯,应该转而考虑套接字。 4. 匿名管道又称管道,提供了一个进程与它的兄弟进程通讯的方法,只存在于父进程中; 5. 命名管道,可以存在与文件系统中,任意进程都可找到它,使得不同先祖的进程也可以通讯原创 2017-06-14 15:52:11 · 499 阅读 · 0 评论 -
JAVA调用C or C++的两种方式
JAVA调用C orC++的两种方式纵所周知安桌的应用最外层是JAVA写的,那么我们怎么用熟悉的C或C++来写程序了。这儿有两种方法。第一种:建产JNI(C或C++写的文件),在这个文件中jniRegisterNativeMethods(env, "XX/YY, method_table, NELEM(method_table))或者registerNativeMet原创 2017-08-23 17:31:26 · 3816 阅读 · 0 评论 -
view 与surfaceview画图的区别
view与surfaceview画图的区别View是封装了一个canvas来画图的,并画图只能在主线程中执行。如ImageView就是继承的View来画图的,用View中的canvas来画Surfaceview也是继承于view,但他封装了一个surface对像。Surface可以使用后台线程绘制图。就这点就是与直接用view里面封装的canvas的区别。原创 2017-09-14 10:29:52 · 388 阅读 · 0 评论 -
systemUI与Launcher和Home的区别
systemUI与Launcher和Home的区别launcher就是主页,那些图标,启动应用的 和home是同一个东西systemUI就是通知栏,导航按键栏原创 2017-09-07 11:34:41 · 6150 阅读 · 0 评论 -
安桌可按控件的按下状态高亮不能显示出来的问题
安桌可按控件的按下状态高亮不能显示出来的问题我们以imageview为例 资料文件是自定义的如下 如果这样定义的话在按下时这个VIEW是不高亮的,他要根据软件里面的状态羔设置这个控制为setSelected状态,然后拉起我们自定义控件的TRUE状态图片,以及不高亮状态。如果我们代码里面没有去调用setSelected这个函数来设置这个VIEW为选中状态,那么他是不会原创 2017-09-19 11:38:05 · 445 阅读 · 0 评论 -
将Android系统源码导入ecplise
将Android系统源码导入ecplisehttp://www.cnblogs.com/l2rf/p/5825617.html原创 2017-09-28 10:45:48 · 411 阅读 · 0 评论 -
LAUNCHER3讲解
别人的分析感觉不错收藏http://blog.csdn.net/rodsonl/article/details/20482461 已读http://blog.csdn.net/rodsonl/article/details/20497355 已读http://blog.csdn.net/rodsonl/article/details/20531209 已读http原创 2017-10-30 16:47:03 · 1568 阅读 · 0 评论 -
android中dip,dp,px,sp和屏幕密度分析
Dip(device independent pixels )=dp:设备独立像素,不同的设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持wvga,hvga和QVGA推荐使用这个,不依赖像素。这里要特别注意DIP与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正,有可能导致DIP不能正常显示。在屏幕密度为160的显示屏上,1DIP=1PX。屏幕密度是指1英寸上的像素(原创 2017-05-26 09:00:24 · 506 阅读 · 0 评论 -
多线程下变量原子操作的几种方法
多线程下变量原子操作的几种方法Note:1.2两个方法主要用于应用中【2种操作的性能是第一种的7-8倍,性能上优于第一种】,第三个方法主要应用于驱动层的。线程锁:如下例子: pthread_mutex_t count_lock = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&count_lock);原创 2017-05-23 16:51:07 · 1230 阅读 · 0 评论 -
android应用的ACTIVITY当使用EditText控件时会默认弹出输入法窗口,默认不弹出窗口方法
【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 android应用的ACTIVITY当使用EditText控件时会默认弹出输入法窗口,默认不弹出窗口方法在EditText控件所在的acvity的AndroidMainfest.XML申明中加入如下原创 2017-04-11 19:42:09 · 695 阅读 · 0 评论 -
E:安桌层及文件系统层的PRINTf输出原理
(/device/console操控台原理分析,通过调用此操控台来输出信息,同时这儿涉及到/device/console调用TTY,然后TTY调用低层串口的分析 安桌LOG输出原理)LINUX内核源码版本:linux-3.0.86 /dev/console即控制台,是与操作系统交互的设备,系统将一些调试信息直接输出到控制台上,是TTY设备的一个子集 Tty:原创 2016-09-19 16:37:18 · 1039 阅读 · 0 评论 -
adb 用不了的原因
不能执行的原因是sdk中的adb.exe环境变量没有配置好,导致必须要在platform_tools按装上当中去执行才可以.接着在CMD中执行如下命令就能正使用了。我参考网上教程配置SDK环境变量还是不行。我就不配了直接用目录执行算了。搭建工具比较费时间。网上很多解决上面遇到的问题根本解决不了。说端口被占用,但我通过相关指令并没有占用。(端口被占用的解决办法参考http://jingyan.bai原创 2016-09-28 19:28:31 · 3095 阅读 · 0 评论 -
LINUX非阻塞访问机制POLL SELECT EPOLL原理分析
LINUX非阻塞访问机制POLL SELECT EPOLL原理分析【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 Linux系统提供几种多种实现非阻塞访问机制(read write操作时不会阻塞,但对于POLL SELECT EPOLL的原创 2016-11-29 10:55:26 · 910 阅读 · 0 评论 -
ARM寄存器一览
原创 2016-11-26 14:30:08 · 484 阅读 · 0 评论 -
android-linux系统调用原理之整体系统框架实现原理之OPEN实现
android-linux系统调用原理之整体系统框架实现原理之OPEN实现.docx【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 对于安桌系统来说系统调用就是指:Andriod层调用Linux函数。由于安桌层在文件系统层,而LINUX层在内核层原创 2016-11-26 14:31:54 · 1895 阅读 · 0 评论 -
LINUX驱动异步编程之信号实现梗概
LINUX驱动异步编程之信号实现梗概【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 Linux系统中进程间.进程组内.进程本身当中都可能发生信息交互既通信。信号是实现这种交互的一种方式。内核框架中对于信号的实现有一整套的框架。大体上分为如下几个部原创 2016-12-22 11:43:14 · 582 阅读 · 0 评论 -
fasync和kill_fasync机制分析
fasync和kill_fasync机制分析【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 讨论完了信号的大致原理,下面分析信号在驱动中的一个特定应用场景:fasync和kill_fasync是内核信号机制在驱动中的一个应用,低层原理是信号收原创 2016-12-22 20:32:23 · 7945 阅读 · 0 评论 -
LINUX进程与线程概述
进程必需具备如下几个要素,完整的具备了才能称之为进程,否则称之为线程:有一段程序供其执行,就好像一场戏要有一个剧本一样。这段不一定是进程所专用,可以与其它进程共用,就好像不同剧团的许多场演出可以共用一个剧本一样。有起码的“私有财产”,这就是进程专用的系统堆栈空间。有户口,这就是在内核中的一个task_struct数据结构,操作系统教科书中常称为进程控原创 2017-01-07 11:32:55 · 453 阅读 · 0 评论 -
中断上半部和下半部之低半部实现方法-softirq tasklet workqueue
Asmlinkage表示参数传送通过stack来传送而不是寄存器中断种类:一种是由CPU外部产生的,另一种是由CPU本身在执行程序的过程中产生的外部中断:就是通常所讲的中断INTERRUPT,对于执行中的软件来说,这种中断的发生完全是异步的,根本无法预测此类中断会在什么时候发生,因此,CPU或者软件对外部中断的响应完全是被动的。不过,软件可以通过关中断指令关闭对中断的响应,把它反映原创 2017-02-17 09:55:40 · 924 阅读 · 1 评论 -
LINUX设备模型简述
LINUX设备模型的几大基础结构Kobjects【kobject】, Ksets【kset】 Ktype【ktype】 和 Subsystems【subsystem】 Inode--[kset]--------kobjects[驱动设备结构链关系 也可以认为是包含关系]Kobjects是创建SYS/下面文件的用的结构体,其它两个体是配合他完成任务的。可以看成是原创 2017-03-31 11:35:51 · 616 阅读 · 0 评论 -
内存管理与IO访问
内存管理与IO访问原创 2017-03-16 11:36:25 · 882 阅读 · 0 评论 -
安桌Client如何访问server的service,以及service如何访问client的函数
安桌Client如何访问server的service,以及service如何访问client的函数安桌Client如何访问server的service,以及service如何访问client的函数一直以来对于客户端如保访问服务端提供的服务,以及服务如何回调客户端的功能函数弄不清楚,现在有了一知半解,所以记录下业随着学习的推进,慢慢来完善细节,可能细节有错误。【一个车载导航仪的整体框原创 2017-11-14 17:30:10 · 554 阅读 · 0 评论