
Android
文章平均质量分 88
iefswang
Just for memory
展开
-
boot.img结构解析
修改boot.img原创 2014-05-07 13:12:01 · 9794 阅读 · 0 评论 -
Binder机制3---Native层
Native层流程大纲介绍完Binder驱动的构架后,下面我们进入到Binder Native层的流程分析。Binder的整体流程可分为如下几个步骤:Service Manager成为守护进程--- Service Manager告知Binder驱动程序它是Binder机制的上下文管理者。Server和Client获得Service Manager的远程接口--- defaultSer转载 2014-08-20 16:45:18 · 954 阅读 · 0 评论 -
Binder机制4---Framework层
[java] view plaincopy5. Binder机制的Java接口 通常,应用程序框架中基于Java语言的Binder接口是通过JNI来调用基于C/C++语言的Binder运行库来为Java应用程序提供进程间通信服务的。在应用程序中,Server被实现为Service的形式,并通过IServiceManager.addService接口来把这个Service添转载 2014-08-20 16:51:23 · 1162 阅读 · 0 评论 -
Binder通讯机制,大纲和学习计划
前言Binder,作为Android中重要的通讯机制,虽然我们可以在不理解的情况下使用,但如果能理解透彻,在以后的开发中我们将受益良多。理解Binder,完全可以看作我们在修年内功,特别是Binder机制中牵扯到Driver,Hative层,Framework层的内容,如果我们对整个流程熟悉,那么我们不仅对Android的通讯机制,而且还有整个Android框架的了解将会上一个台阶。B转载 2014-08-20 16:55:28 · 861 阅读 · 0 评论 -
linux-arm中断系统之GIC
这几天长三角爆发禽流感,搞的连菜市场都不敢靠近了,颇有点SARS的架势,我真怀疑上帝是不是个程序猿,造人搞这么多bug,H7N9的driver还没写好吧,害的我们只能不停的打patch,时不时来个oops。今天看了一个专家的解说:"H7N9基因有八节,其中H7的部分是来自浙江的野鸟,N9的部分是来自韩国的野鸟,那么其余的六节相信是来自长江以北",好吧,又是你们韩国。1.“站的高转载 2014-09-05 18:49:37 · 948 阅读 · 0 评论 -
71道经典Android面试题和答案--重要知识点都涉及到了
转自 :http://blog.youkuaiyun.com/hbzh2008/article/details/7676126面试题1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2.转载 2014-08-12 18:52:15 · 798 阅读 · 0 评论 -
android的消息处理机制(图+源码分析)——Looper,Handler,Message
android的消息处理机制(图+源码分析)——Looper,Handler,Message作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android转载 2014-08-13 15:21:33 · 551 阅读 · 0 评论 -
android學習中備忘的小知識
1. wakelock 機制各种锁的类型对CPU 、屏幕、键盘的影响:PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允原创 2014-08-14 18:11:37 · 829 阅读 · 0 评论 -
基础总结篇之二:Activity的四种launchMode
合抱之木,生於毫末;九層之台,起於累土;千里之行,始於足下。《老子》今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些。作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行。成大事者,须从小事做起;万事起于忽微,量变引起质变。我们今天要讲的是Activity的四种launchMode。la转载 2014-09-24 11:21:11 · 549 阅读 · 0 评论 -
基础总结篇之三:Activity的task相关
古人學問無遺力,少壯工夫老始成。紙上得來終覺淺,絕知此事要躬行。南宋.陸遊《冬夜讀書示子聿(yù)》软件行业也是一样,多少前辈不遗余力的奋斗才出现了软件行业的繁荣的景象,其中已有不少成为大师级人物。今天我们站在伟人的肩膀上,自然会有不少的优势,但不要忘了,要在对技术的认知方面有所提升,仍需我们去实践,去实践。今天我们来讲一下Activity的task相关内容。上次我们讲到Activ转载 2014-09-24 12:36:26 · 510 阅读 · 0 评论 -
Input Core和evdev基本知识 - Kernel3.0.8
目录(?)[+] 1. 基本数据结构和使用示例input_event数据结构如下:[cpp] view plaincopystruct input_event { struct timeval time; __u16 type; __u16 code; __s32 value; }; input_d转载 2014-09-16 15:14:15 · 751 阅读 · 0 评论 -
Input touch event 输入流程
http://www.eoeandroid.com/home.php?mod=space&uid=10407&do=blog&id=5070Android 4.2 輸入流程研究心得1. 前言 Android中管理Input的兩個主要相關角色, 一是WindowManagerService, 一是跟View相關的ViewRootImpl. 基本原理方向從2.3到目前的4.2转载 2014-09-28 17:07:34 · 2394 阅读 · 0 评论 -
Android的5个进程等级
1、foreground process 正处于activity resume状态 正处于bound服务交互的状态 正处于服务在前台运行的状态(StartForeGround()被调用) Service生命周期正在被执行(onCreate(),onStart(),onDestroy()) BroadcastReceiver正在执行onReceive转载 2014-10-09 16:47:52 · 4013 阅读 · 0 评论 -
驅動相關注意細節
1.module_i2c_drivermodule_i2c_driver宏定义(i2c.h):#define module_i2c_driver(__i2c_driver) \ module_driver(__i2c_driver, i2c_add_driver, \ i2c_del_driver)#define i2c_add_d原创 2014-10-28 17:10:40 · 774 阅读 · 0 评论 -
各种总线match匹配函数
当向linux系统总线添加设备或驱动时,总是会调用各总线对应的match匹配函数来判断驱动和设备是否匹配,这些match函数之间都存在一定的差异,本文先对常用的match匹配函数进行讲解,以后会陆续添加新的内容。 一. 驱动和设备匹配过程常用数据结构1. of_device_idstruct of_device_id{charname[32];char type[32];转载 2014-10-28 15:40:46 · 2358 阅读 · 0 评论 -
linux内核panic
1. Linux Kernel Panic的产生的原因 panic是英文中是惊慌的意思,Linux Kernel panic正如其名,linux kernel不知道如何走了,它会尽可能把它此时能获取的全部信息都打印出来。有两种主要类型kernel panic,后面会对这两类panic做详细说明:1.hard panic(也就是Aieee信息输出)2.soft p转载 2014-11-15 21:12:11 · 1509 阅读 · 1 评论 -
從DTS到驅動加載的過程分析
一。驅動中的probe函數如何被調用原创 2014-10-29 20:44:10 · 10693 阅读 · 0 评论 -
androd输入管理系统机制解析
android的输入管理系统主要完成按键、触摸板、鼠标等输入设备的事件输入,功能包括,输入设备的事件输入及向焦点窗口和焦点视图的事件派发,事件的插入,事件的过滤,事件的拦截等功能。整个输入系统包括服务端和客户端两部分,服务端部分主要完成输入设备事件的读取、事件的映射、事件的插入、事件的过滤、事件的拦截等功能;客户端部分主要完成事件向焦点窗口和焦点视图的派发。输入系统的整个架构采用的是管道过转载 2014-10-20 11:38:37 · 847 阅读 · 0 评论 -
Binder机制1---Binder原理介绍
1.Binder通信机制介绍这篇文章会先对比Binder机制与Linux的通信机制的差别,了解为什么Android会另起炉灶,采用Binder。接着,会根据Binder的机制,去理解什么是Service Manager,在C/S模型中扮演什么角色。最后,会从一次完整的通信活动中,去理解Binder通信的过程。1.1 Android与Linux通信机制的比较虽然Android继承使用转载 2014-08-20 16:43:48 · 1341 阅读 · 0 评论 -
android binder解析
android binder解析 2013-04-20 09:27:48| 分类:android | 标签:binder ipc surfaceflinger anr |举报|字号 订阅一直对android的binder机制比较困惑,出了问题时也手足无措。看了一些资料,感觉似懂非懂,于是萌生了一个想法,一定要自己跟一根binder流程,这样转载 2014-08-20 16:40:56 · 2522 阅读 · 0 评论 -
内核驱动系列--内核调试方法
内核驱动系列--内核调试方法本文主要参考LDD3 第四章及linux设备驱动开发详解(宋宝华)的第22章调试嵌入式内核的方法如下:一、 首先要在编译内核时打开许多调试选项,这样在驱动程序出错时就会打印出尽可能多的调试信息。二、 通过printk, oops, strace, /proc,等进行观察调试(最常用)三、 目标机插桩,如打上KGDB补丁,利用gdb, kgdb工具转载 2014-05-07 19:34:37 · 877 阅读 · 0 评论 -
Android 初学
1.adb用来安装、卸载软件,烧写、抓取log信息都工具。原创 2014-04-21 16:51:48 · 841 阅读 · 0 评论 -
android源码下载
ubuntu10.04使用source.android原创 2014-04-25 01:00:08 · 713 阅读 · 0 评论 -
Android休眠唤醒驱动流程分析(四)
关于wake_lock在上文中,已经介绍了wakelock机制,下面从代码的角度进行介绍。wakelock有2种类型,常用为WAKE_LOCK_SUSPEND,作用是防止系统进入睡眠。WAKE_LOCK_IDLE这种锁不会影响到系统进入休眠,但是如果这种锁被持有,那么系统将无法进入idle空闲模式。enum {WAKE_LOCK_SUSPEND, WAKE_LO转载 2014-06-26 10:21:52 · 801 阅读 · 0 评论 -
Android/linux(earlysuspend、lateresume)睡眠唤醒机制简介
本文属于原创!!如要转载,请注明来源处 http://blog.sina.com.cn/s/blog_759dc36b0100stax.html 背景介绍:睡眠/唤醒是嵌入式Linux非常重要的组成部分,因为优秀的睡眠唤醒机制可以是嵌入式设备尽可能的进入休眠状态,来延长电池的续航时间(这在移动终端消费类电子设备中是非常重要和有意义的!!)。但标准的Linux睡眠唤醒机制有其自身的一些转载 2014-06-26 14:34:16 · 694 阅读 · 0 评论 -
Android休眠唤醒驱动流程分析(三)
接上一节: static int suspend_enter(suspend_state_t state){int error = 0; device_pm_lock();#ifdef CONFIG_CPU_FREQcpufreq_get_cpufreq_name(0);strcpy(governor_name, cpufre转载 2014-06-26 10:17:05 · 761 阅读 · 0 评论 -
Android休眠唤醒驱动流程分析(二)
在suspend_freeze_processes()函数中调用了freeze_processes()函数,而freeze_processes()函数中又调用了try_to_freeze_tasks()来完成冻结任务。在冻结过程中,会判断当前进程是否有wake_lock,若有,则冻结失败,函数会放弃冻结。static int try_to_freeze_tasks(bool sig_onl转载 2014-06-26 09:55:42 · 936 阅读 · 0 评论 -
Android休眠唤醒驱动流程分析(一)
****************************************************作者:Sean日期:2012-11-29修改历史:****************************************************标准linux休眠过程:l power management notifiers are executed w转载 2014-06-26 09:52:16 · 787 阅读 · 0 评论 -
Android 地区语言和简写对照表
Android 地区语言和简写对照表分类: android 2012-12-10 18:13 2769人阅读 评论(0)收藏 举报作者:xubin341719(欢迎转载,请注明作者)过年、圣诞,这一段时间订单太多, 不同国家的语言表保存一份,还是比较实用的。[plain] view plaincopyArabic, Egy转载 2014-06-10 15:16:01 · 871 阅读 · 0 评论 -
设备树使用手册
设备树使用手册This page walks through how to write a device tree for a new machine. It is intended to provide an overview of device tree concepts and how they are used to describe a machine.本文将介绍如何转载 2014-05-26 17:21:31 · 12152 阅读 · 1 评论 -
linux内核中操作文件的方法--使用get_fs()和set_fs(KERNEL_DS)
#include linux/kernel.h>#include linux/module.h>#include linux/init.h>#include linux/fs.h>#include linux/string.h>#include linux/mm.h>#include linux/syscalls.h>#include asm/unistd.h>#i原创 2014-06-13 14:37:42 · 6857 阅读 · 0 评论 -
dts 学习
Device Tree是一种数据结构。来源于OpenFirmware,最有名的Firmware是INTEL X86 BIOS系统。而Device Tree也正是应用在操作系统启动阶段。Device Tree这种数据结构,犹如它的名字,是一颗树(常见数据结构类型),包含有许多结点,结点中含有属性,属性中含有名字(name)和值(value)。树的信息主要包括:cpu的数量和类别,内存基地址,总线与桥转载 2014-06-09 09:07:57 · 1723 阅读 · 0 评论 -
Linux 3.10 ARM Device Tree 的初始化
本文代码均来自标准 linux kernel 3.10,可以到这里下载 https://www.kernel.org/ 以 arch/arm/mach-msm/board-dt-8960.c 为例,在该文件中的 msm_dt_init 函数的作用就是利用 dt(device tree)结构初始化 platform device。点击(此处)折叠或打开sta转载 2014-07-30 10:22:51 · 1081 阅读 · 0 评论 -
Android 开发之---bootloader(lk)
LK 是 Little Kernel 它是 appsbl (Applications ARM Boot Loader)流程代码 ,little kernel 是小内核小操作系统。 LK 代码 在 bootable/bootloadler/lk 目录下 LK 代码结构 +app // 应用相关转载 2014-06-23 10:59:41 · 1094 阅读 · 0 评论 -
android系统移植emmc记录(总)
历时一个月,终于成功把android系统移植到emmc上启动。开发板:s5pv210系统:android 2.34目的:使用emmc代替 nand flash 烧写命令:fastboot sdfuse分区命令: fdiskvfat格式命令:fatformatExt3格式命令:ext3format------------------------------转载 2014-06-23 11:39:04 · 2761 阅读 · 0 评论 -
Binder机制5--- Binder实现进程管理服务示例
6. 用eclipse实现PMServicePMservice是一个通过Service服务,来实现任务管理的程序。分为客户端PMClient和服务端PMService。PMService提供一些操作方法:服务开始的提示方法:getVal();任务管理器的查询方法:getProcessID() 获取进程号,和getProcessName()获取进程名;以及终止进程的方法:kill转载 2014-08-20 16:51:25 · 902 阅读 · 0 评论 -
Android Framework------之PowerManagerService的功能
Android Framework------之PowerManagerService的功能 自从接触Android系统已经一年多了,这段时间内对于Android系统的Framework层的各个模块都有过接触,有时也做过分析,但是一直没能形成一个总结性的东西。这次下定决心,好好整理整理对于Android系统的学习梳理一下自己的思路。本文一方面是为了自己梳理下知识,文中涉及的内容,基本是拾人牙转载 2014-08-20 09:36:14 · 13728 阅读 · 2 评论 -
Android 编译问题
Android 源码编译,java环境配置:javac、java等。下载:sun jdk可以到官网免费下载。openjdk 建议不要使用aptget install openjdk-*-jdk安装,有时会安装不完整。可以使用“新立得”(synaptic package manager)编译Android源码会提示需要安装的jdk是openjdk还是sun原创 2014-12-12 10:43:46 · 877 阅读 · 0 评论