- 博客(24)
- 资源 (13)
- 收藏
- 关注
原创 Binder AIDL 理解
Binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的。它是对IBinder类的实现,其中IBinder类提供了这样一个类的标准的本地化实现方式。大多数开发者不会去直接实现Binder类,而是用AIDL工具来描述他们自己想要的接口,借助它来生成一个合适的Binder之类。AIDL(Android Interface Define
2016-12-16 17:15:54 314
原创 指针笔记
指针篇1.基本指针变量(1)定义int i,j;int *pointer_1,*pointer_2;pointer_1 = &i;pointer_2 = &j;等价于int *pointer_1 = &i,*pointer_2 = &j;(指针误区: 大家首先应该知道,地址可称为指针,是不可变的;指针变量(上述定义的pointer_1为指针变量)是变量,变量是
2016-12-16 16:59:11 323
原创 Input 介绍
先介绍一下每个模块的工作职责:EventHub, InputReader, InputManager...3.1 模块功能3.1.1 EventHub 它是系统中所有事件的中央处理站。它管理所有系统中可以识别的输入设备的输入事件,此外,当设备增加或删除时,EventHub将产生相应的输入事件给系统。 EventHub通过getEvents函数,给系统提供
2016-12-16 16:14:15 991
原创 ++i,i++运行计算区别
#include void main(void){ int i = 0; printf("---test ++i : %d\n", i++); i = 0; printf("----test i++: %d\n", ++i);}运行结果++i 先运算加1,改变结果值加1i++直接运算结果,不改变结果值
2016-12-16 15:45:00 329
转载 ((*strDest++=*strSrc++)!='\0'); 的理解
((*strDest++=*strSrc++)!='\0'); 的理解 ((*strDest++=*strSrc++)!='\0'); 哪儿前辈可以解释下里面具体执行的步骤呢? 对于这样的表达式,我们通常会有这样三种看法: 1.这种写法不但没有错误(当然也没有BUG),而且写法紧凑。 2.这种写法虽然没有错误,但是不够直观,理解起来有点麻烦,可能
2016-12-16 15:27:18 497
原创 Android 6.0 Doze状态切换
Doze打盹模式共有五种状态,不同状态间的切换如下图所示,如果厂家没有修改时间的话,因此从灭屏到Doze模式,至少需要61分钟,官方是60分钟,但需要1分钟作为运动监测。根据代码跟踪,如果应用不在白名单,系统灭屏经过大约一小时后,上层应用wake lock,alarm,还有网络链接都会失效,除非你是白名单应用
2016-12-12 14:47:19 1088
转载 Android 6.0 设备Idle状态介绍
原文地址:http://blog.csdn.net/licaomengRICE/article/details/48735957原文链接:https://newcircle.com/s/post/1739/2015/06/12/diving-into-android-m-doze注意:这篇博文的所有描述都是基于Android‘M’开发者预览的第一版本。因为新的版本(包括码代码)已经发布
2016-12-12 11:43:10 6396
原创 WakeLock使用
WakeLock使用我们先来看一下Android官方对PowerManager和WakeLock的注解:PowerManager:This class gives you control of the power state of the device.WakeLock:A wake lock is a mechanism to indicate that your applicati
2016-12-12 11:08:52 557
原创 Android service 简单介绍
1.Android系统服务Android系统服务提供系统最基本、最核心的功能,如设备控制、位置信息、通知设定、消息显示等。这些服务分别存在于Application Framework与Libraries层之中。如下图所示:2.系统服务分类系统服务分为本地系统服务和Java系统服务。2.1 本地系统服务本地系统服务使用C/C++编写,运行在Libraries层,主要包含Aud
2016-12-08 15:17:04 475
原创 Android6.0启动-SystemServer
frameworks/base/core/java/Android/app/ActivityThread.javaframeworks/base/core/java/Android/app/LoadedApk.javaframeworks/base/core/java/Android/app/ContextImpl.javaframeworks/base/core/java/com/Andr
2016-12-08 15:11:56 1643
原创 Android6.0启动-zygote
/frameworks/base/cmds/app_process/App_main.cpp (内含AppRuntime类)/frameworks/base/core/jni/AndroidRuntime.cpp/frameworks/base/core/java/com/Android/internal/os/ZygoteInit.java/frameworks/base/core/jav
2016-12-08 15:06:34 646
原创 Android 6.0 Runtime Permission 机制
分析了Android的AppOps权限管理机制,可以说,该机制一直都在(应该是从4.2就开始存在了),但一直没有被真正使用过… 每次Android更新OS版本,都一直是隐藏它的( 一些OEM厂商可能会在某些版本上打开)。而从Android M开始,Android就正式的推出了官方的权限管理机制:Android Runtime Permission. ( Google在M发布的IO大会上特意说明
2016-12-08 11:32:34 676
转载 Android中的进程和pid
Pid: Process ID 顾名思义,它指的是Process的id。每个进程都有一个独立的id,可以通过pid来区分不同的进程。 程序 vs 进程:程序是静置的,一般会存放在磁盘中。经过用户的执行,程序会被触发,被加载到内存中成为一个个体:进程。因此,可以说 进程就是一个正在运行的程序。 操作系统会对每一个进程赋予一个id,就是Pid。 以Linux上的 /bin/
2016-12-08 11:27:15 387
原创 Android 6.0 PowerManagerService 之 Display
继续updatePowerStateLocked函数 // Phase 2: Update display power state. boolean displayBecameReady = updateDisplayPowerStateLocked(dirtyPhase2);systemReady首先先看systemReady函数中与
2016-12-07 16:38:17 1236
原创 Android 6.0 PowerManagerService 之 updatePowerStateLocked函数
updatePowerStateLocked/** * Updates the global power state based on dirty bits recorded in mDirty. * * This is the main function that performs power state transitions. * We cen
2016-12-06 16:17:39 958
原创 Android 6.0 PowerManagerService 一
SystemServer.javastartBootstrapServices 函数中 mPowerManagerService = mSystemServiceManager.startService(PowerManagerService.class);PowerManagerService.javaPowerManagerService构造函数
2016-12-02 15:07:25 905
原创 Android 6.0 BatteryManager分析
BatteryManager.javaBatteryManager构造函数 public BatteryManager() { mBatteryStats = IBatteryStats.Stub.asInterface( ServiceManager.getService(BatteryStats.SERVICE_NAME))
2016-12-01 14:54:14 2077
Android Platform签名提取apk签名 用于Android studio,eclipse调试
2017-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人