
android
文章平均质量分 72
有梦想的胖子
路漫漫其修远兮
展开
-
android学习笔记2 彩信APN切换流程(framework)
TransactionService之前的流程比较简单不在赘述,现在主要理清下从TransactionService到framework的流程。 首先会走到TransactionService的onStartCommand,在此函数中会对当前网络状态进行判断,然后调用到launchTransaction,如果此时网络不可用,会弹出toast,否则就向自己的handler发送EVENT_TR原创 2012-04-19 16:05:32 · 5101 阅读 · 0 评论 -
ART学习笔记 Rosalloc alloc部分
Rosalloc就是google版本的Dlmalloc,负责连续地址的分配。分配策略和dlmalloc类似,也是分箱制,至于传言中的比dlmalloc效率高支持多核我是没看出来。不过代码倒是比dlmalloc写的较人能看懂了点。--------------------------------------免责声明: |以下内容仅供参考 |--原创 2015-07-17 10:22:50 · 2233 阅读 · 0 评论 -
GDB 调试Native Crash 总结
Native Crash作为常见的exception之一,gdb是分析此类问题的利器。原创 2014-04-20 17:49:57 · 3477 阅读 · 0 评论 -
2.3.5/4.0.3/4.1PowerManager简单总结和心得体会
4.4上的PMS被完全重构了,在接手4.4 PMS之前对之前PowerManagerService做一个总结。原创 2014-04-14 21:15:04 · 1115 阅读 · 0 评论 -
android JNI bridge ----- native和java世界的红娘 (施工中)
本文主要讲述Java程序如何调用native的程序以及native如何回调java,以及这种jiz原创 2014-04-14 21:20:33 · 2864 阅读 · 0 评论 -
android webkit学习笔记1---url的load过程
webkit总体上分成两块,核心库,android适配层。下面通过webkit打开baidu来分析下具体的过程,就可以知道webkit的工作模式了。1. 首先是app中创建了webView,并调用它的loadurl方法: mWebView.loadUrl("http://www.baidu.com");2. frameworks/base/cor原创 2013-06-19 17:56:32 · 6626 阅读 · 0 评论 -
【android学习笔记】init.rc中声明的守护进程启动的流程
在Init.rc中,用service关键字声明了一系列服务.init.rc对service的说明如下:(详见system/core/init/readme.txt)Services--------Services are programs which init launches and (optionally) restartswhen they exit. Services tak原创 2013-05-02 14:48:33 · 7116 阅读 · 3 评论 -
Android Activity是怎么画出来的
Activity是在onResume里显示出来的,下面看下具体的流程。 ActivityThread.java final void handleResumeActivity(IBinder token, boolean clearHide, boolean isForward) {// ... if (r.window == null && !a.mF原创 2013-03-31 16:40:36 · 2472 阅读 · 0 评论 -
android学习笔记 匿名Binder
匿名binder就是没有向servicemanager提交注册的binder。对于已经建立好Binder通信的Client和server,server可以将一个Binder的引用传递给client,client可以通过这个引用来访问server。那么这种匿名的访问是怎么建立起来的?在server被唤醒后为什么可以通过target-ptr找到bbinder呢?答案就在第一次返回这原创 2013-04-07 22:51:21 · 4949 阅读 · 1 评论 -
android 自定义preference的属性
最近碰到了个问题,我想调整checkboxpreference中的图片的大小以及位置,学习了下发出来:1. 拷贝并重命名framework/base/core/res/res/layout/preference.xml到你的工程目录res/layout/,如mypreference.xml2. 修改mypreference中你想修改对应的属性,不赘述,大家都会。3. 如果是用静态加载p原创 2013-02-21 11:40:35 · 4644 阅读 · 0 评论 -
android学习笔记7 android简略开机流程(从u-boot 到Idle)
本来应该说说kernel中的input子系统和上层的对应关系的,但是碰到了开机的一些问题,下定决心把这个过程搞清楚。U-boot之前的SPL的启动暂且不提,我们从U-boot在上电后被SPL从NAND中拷贝至SDRAM,然后执行board_init_f 跳转到board_init_r开始。u-boot里的流程大家可以通过打串口log来看。u-boot\arch\arm\lib\boa原创 2012-11-26 23:58:33 · 7383 阅读 · 9 评论 -
android学习笔记6 eventhub
Eventhub是在Native 的inputmanager创建的时候被创建的,inputreadthread就通过eventhub的getevent方法来源源不断的获取driver上报的input事件。 bool EventHub::getEvent(RawEvent* outEvent){ if (!mOpened) { mError = ope原创 2012-11-02 11:12:21 · 4374 阅读 · 0 评论 -
android学习笔记5 android按键事件处理代码走读[framework]
上层的对按键事件的侦听和纷发处理是通过inputmanager及其组件inputreader,inputdispatch,eventhub构成的。在system_server被创建的时候就会创建WMS,并调用inputmanager的start方法来启动read和dispatch线程。 1. Inputmanager的创建Systemserver的ServerThread原创 2012-10-23 17:17:36 · 4382 阅读 · 0 评论 -
android学习笔记 按电源键屏幕唤醒和屏幕睡眠流程(从上层到kernel)
一. 屏幕的唤醒 首先inputread在读取到有keyboard事件上报后,会调用到keydispatch的notifykey,去询问wm是否会对这次按键特殊处理,如果WM不处理,则此处会点亮或者熄灭屏幕。 inputReader.cpp KeyboardInputMapper::processKey原创 2012-10-14 20:12:57 · 33539 阅读 · 15 评论 -
android 学习笔记3--静默安装功能的实现
静默安装的实现比较简单,但是有个前提:你的应用必须有system权限。所以分为两步:1. 如何获取system权限。 ①. 修改androidmanifest.xml , android:sharedUserId="android.uid.system" ②. 修改android.mk ,增加LOCAL_CERTIFICATE := platform原创 2012-09-27 11:07:09 · 2663 阅读 · 1 评论 -
ART学习笔记Thread SuspendAll部分
昨天碰到了一个Gc 时Suspend All 超时导致的Runtime abort问题。顺带就研究了下Suspend的机制以及超时检查的机制。在进程被signal 3或者GC或者debugger尝试attach,就会suspend,那么suspend是如何实现的呢?原创 2015-07-23 15:58:19 · 12619 阅读 · 2 评论