【android核心分析--转】教程文章相关的互联网学习教程文章

Fruit Ninja(水果忍者)游戏源代码下载、分析(上)---可运行Android,Ios,Window,Mac,Html5平台【图】

背景: 本来打算下一个游戏是涂鸦跳跃的,因为图片资源没准备好,暂时往后推迟。刚好笔者手头上有部分水果忍者的游戏素材,于是上周末花了一些时间把水果忍者实现了;以前读大学的时候这款游戏就风靡大街小巷,记得当时同学间也比赛谁得的分数高,乐趣无穷;笔者在那会还没学过编程,很难理解切西瓜是怎么做出来,现在此一时彼一时了。 因为素材有限,实现的效果可能和原版有差距,例外很多童鞋反映flappy,popstar和原版不同...

Android4.0窗口机制和创建过程分析

一 前言在谈到这个话题的时候,脑海里面千头万绪,因为它涉及到了方方面面的知识… 比如Activity管理,窗口添加,Token权限验证等等…既然这么复杂,那么我们就复杂的问题简单化,可以分成下面几个步骤进行讲解。1. Android里面窗口这个概念的分析。2. Android里面窗口的类型3. Android窗口功能相关的token值4. Android里面Activity窗口添加流程分析5. Dialog窗口的添加流程分析6. Toast窗口的流程分析二 Andr...

关于dialog引起的 java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView not attached to window manager 错误的分析【代码】

在跑Monkey测试的时候出现了一个比较特别的问题,先来看看Log: 1// CRASH: com.meizu.media.painter (pid 12491)2 3// Short Msg: java.lang.IllegalArgumentException4 5// Long Msg: java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{21dd6762 V.ED.... R......D 0,0-538,105} not attached to window manager6 7// Build Label: ***8 9// Build Changelist: 1443062570 1011...

Android Debuggerd 简要介绍和源码分析(转载)【代码】【图】

转载: http://dylangao.com/2014/05/16/android-debuggerd-%E7%AE%80%E8%A6%81%E4%BB%8B%E7%BB%8D%E5%92%8C%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/ 码字很辛苦,转载请注明来自Dylan‘s Zone的《Android Debuggerd 简要介绍和源码分析》 本文以android4.1为基础,分析debuggerd这个工具的使用方法和源码。1.Debuggerd 简介debuggerd是一个daemon进程,在系统启动时随着init进程启动。主要负责将进程运行时的信息dump到文件或者控制...

Aandroid-ViewPager 源码分析【代码】

public boolean executeKeyEvent(KeyEvent event) { boolean handled = false; if (event.getAction() == KeyEvent.ACTION_DOWN) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_DPAD_LEFT: // 左边. handled = arrowScroll(FOCUS_LEFT); // break; case KeyEvent.KEYCODE_DPAD_RIGHT: handle...

Android/Linux Thermal框架分析及其Governor对比【图】

图表 1 Thermal框架 随着SoC性能的快速提升,功耗也极大提高,带来的负面影响是SoC的温度提高很快,甚至有可能造成物理损坏。同时功耗浪费也降低了电池寿命。 从上图可知,Thermal框架可以分为Thermal Core、Thermal Governor、Thermal Cooling、Thermal Driver以及Thermal Device Tree五大部分。 Thermal Core作为User Space和Kernel的接口,同时也是Thermal框架的中枢。Thermal Driver负责为整个框架读取温度作为输入,同时从DT中...

Android多线程分析之五:使用AsyncTask异步下载图像【代码】

Android多线程分析之五:使用AsyncTask异步下载图像罗朝辉 (http://www.cnblogs.com/kesalin)CC 许可,转载请注明出处在本系列文章的第一篇《Android多线程分析之一:使用Thread异步下载图像》中,曾演示了如何使用 Thread 来完成异步任务。Android 为了简化在 UI 线程中完成异步任务(毕竟 UI 线程是 app 最重要的线程),实现了一个名为 AysncTask 的模板类。使用 AysncTask 能够在异步任务进行的同时,将任务进度状态反馈给 UI ...

在Android5.0上Audio Patch和Patch Panel的一些分析【图】

好久没写博客了,最近整理了下画的流程图和描述图,这次是关于Android5.0里新加的Patch Panel,使用了Audio Patch机制来实现的,正所谓有图有真相,具体请看图。Patch Panel的路径:frameworks/av/services/audioflinger/PatchPanel.cppPatch Panel有关的结构:一个Audio Patch用来表示一个或多个source端到一个或多个sink端。这个是从代码的注释翻译来的,大家可以把它比作大坝,可以有好几个入水口和出水口,每次储水和防水的入水...

Android HandlerThread、Looper、Handler类关系分析

对应的类图及各类的职责如下:HandlerThread的惯常用法:ThreadHandler的looper是在执行run时赋值的,上述代码为何可保证new Handler时getLooper不是null呢,看下HandlerThread.getLooper实现:在run给mLooper赋值后,便会做notifyAll操作其中prepare负责创建当前线程的looper实例,并以TLS形式保存(空间换时间的策略), Looper.loop便以while(true)的方式启动消息接收流程,执行quit操作时,会导致queue.next()返回null,loop break...

Android 消息处理源码分析(1)

Android 消息处理源码分析(1) 在Android中,通常被使用的消息队列的代码在目录\sources\android-22\android\os下,涉及到以下几个类文件 Handler.javaLooper.java Message.javaMessageQueue.javaMessage.java public final class Message implements Parcelable {public int what; //消息种类public int arg1; //低开销的整型参数public int arg2;public Object obj; //Object型数据public Messenger replyTo; //消息处理...

Android自定义View分析【图】

一、基本步骤1、自定义View的属性2、在View的构造方法中获取自定义属性3、重写onMesure方法(非必须)4、重写onDraw方法二、具体实现1、自定义View的属性,首先在res/values/下建立一个attrs.xml 然后在布局文件中使用,红色箭头那一行后面是项目包名,这样可以使用快捷键引出自定义的属性。2、在View的构造方法中获取我们自定义的属性3、如果有必要须重写onMeasure重写之前先了解MeasureSpec的specMode,一共三种类型:EXACTLY:一...

Android源码分析-全面理解Context【图】

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/21829971 (来自singwhatiwanna的博客)前言Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像难以说清楚。从字面意思,Context的意思是“上下文”,或者也可以叫做环境、场景等,尽管如此,还是有点抽象。从类的继承来说,Context作为一个抽...

Android 4.4 Kitkat Phone工作流程浅析(三)__MO(去电)流程分析【图】

本文来自http://blog.csdn.net/yihongyuelan 转载请务必注明出处本文代码以MTK平台Android 4.4为分析对象,与Google原生AOSP有些许差异,请读者知悉。前置文章:《Android 4.4 Kitkat Phone工作流程浅析(一)__概要和学习计划》《Android 4.4 Kitkat Phone工作流程浅析(二)__UI分析》 前面我们已经大致了解了 Android 4.4 Phone 大致差异以及整体结构,本文主要分析 Android 4.4 Phone 的去电流程。通话是手机最基本也是最终...

android init进程分析 ueventd

(懒人最近想起我还有csdn好久没打理了,这个android init躺在我的草稿箱中快5年了,稍微改改发出来吧)ueventd主要是负责设备节点的创建、权限设定等一些列工作。服务通过使用uevent,监控驱动发送的消息,做进一步处理。 ueventd实际和init是同一个binary,只是走了不同分支,可参看前一部分。ueventd的整体代码比较简单,主要是三部分: 解析ueventd.rc 初始化设备信息 循环polling uevent消息主函数及相关功能如下如下:int ueve...

Android多线程分析之一:使用Thread异步下载图像【图】

Android多线程分析之一:使用Thread异步下载图像罗朝辉 (http://blog.csdn.net/kesalin)CC 许可,转载请注明出处打算整理一下对 Android Framework 中多线程相关知识的理解,主要集中在 Framework 层的 Thread, Handler, Looper, MessageQueue, Message, AysncTask,当然不可避免地要涉及到 native 方法,因此也会分析 dalvik 中和线程以及消息处理相关的代码:如 dalvik 中的 C++ Thread 类以及 MessageQueue 类。本文将从一个使用...