android
张鸷
这个作者很懒,什么都没留下…
展开
-
下载Android源代码错误汇总分析
最近在学习Android底层框架,今天打算研究一下Android源代码,源码的下载过程可没有想像的顺利。主要原因是网上的很多资料都是多年以前的,而一些网站都发生了变更,所以域名也会失效。OK,废话少说,我把遇到的各种问题和大家分享一下,希望大家能对号入座,避免浪费不必要的时间~ 以下是我按照正常下载过程总结出的步骤,遇到的问题将在后面讲述。 第一步:创转载 2015-05-17 23:26:37 · 904 阅读 · 0 评论 -
Android 4.4(KitKat)中的设计模式-Graphics子系统
原文地址:http://blog.csdn.net/jinzhuojun/article/details/17427491本文主要从设计模式角度简单地侃下Android4.4(KitKat)的Graphics子系统。作为一个操作系统,Android需要考虑到灵活性,兼容性,可用性,可维护性等方方面面 ,为了达到这些需求,它需要良好的设计。因此,在Android源码中可以看到很多设计模式的身影。光是本转载 2015-12-04 17:21:28 · 715 阅读 · 0 评论 -
Android编译过程详解(一)
Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html Android编译过程详解(三):http:转载 2015-12-04 11:21:05 · 540 阅读 · 0 评论 -
Android.mk 文件语法详解
0. Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析过程中定义。Android.mk文件语法允许我们将Source打包成一个"m转载 2015-12-04 11:19:09 · 543 阅读 · 0 评论 -
Android编译过程详解(二)
Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html Android编译过程详解(三):http:/转载 2015-12-04 11:42:10 · 444 阅读 · 0 评论 -
Android 4.4(KitKat)中VSync信号的虚拟化
原文地址:http://blog.csdn.net/jinzhuojun/article/details/17293325Android 4.1(Jelly Bean)引入了Vsync(Vertical Syncronization)用于渲染同步,使得App UI和SurfaceFlinger可以按硬件产生的VSync节奏来进行工作。关于VSync的介绍详见博文http://www.androidp转载 2015-12-04 17:31:05 · 910 阅读 · 0 评论 -
sp<> 强指针类的用法
文一:转:http://wangjun-1985.spaces.live.com/blog/cns!E9070276AAF56C8E!472.entry在android 中可以广泛看到的template class Sp 句柄类实际上是android 为实现垃圾回收机制的智能指针。智能指针是c++ 中的一个概念,因为c++ 本身不具备垃圾回收机制,而且指针也不具备构造函数和析构函数转载 2015-12-04 11:14:42 · 1161 阅读 · 0 评论 -
Android编译过程详解(三)
前面两节讲解了自定义Android编译项和创建Product产品配置文件,除了编译和定义产品相关环境变量外,还需要定义Board相关环境变量。1. build/core/config.mk109 # --------------------------------------------------------------- 110 # Define most of the global var转载 2015-12-04 11:50:02 · 655 阅读 · 0 评论 -
android中invalidate()的自动清屏含义以及屏幕刷新
invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉。 对于屏幕刷新有以下集中情况可以考虑: 1.不使用多线程和双缓冲 这种情况最简单了,一般只是希望在View发生改变时对UI进行重绘。你只需在Activity中显式转载 2015-12-03 16:05:07 · 1065 阅读 · 0 评论 -
Android异步消息框架
自从rtsp从stagefright播放器移植到NuPlayer之后,你会发现相关的类中存在许多类似下面的代码:================================11111111111111==========================NuPlayerDriver::NuPlayerDriver() : mLooper(new ALooper) { mLoop转载 2015-12-03 14:06:58 · 410 阅读 · 0 评论 -
Android 的 init.rc 文件简介
init.rc由许多的Action和Service组成。每一个语句占据一行,并且各个关键字被空格分开.由 # (前面允许有空格)开始的行都是注释行(comment) 一个actions 或 services 的开始隐含声明了一个新的段,所有commands 或 options 属于最近的声明。在第一个段之前的 commands 或 options 都会被忽略 每一个actions 和 serv转载 2015-12-02 09:57:51 · 435 阅读 · 0 评论 -
Android系统init.rc分析
在 Android中使用启动脚本init.rc,可以在系统的初始化过程中进行一些简单的初始化操作。这个脚本被直接安装到目标系统的根文件系统中,被 init可执行程序解析。 init.rc是在init启动后被执行的启动脚本. (1)android启动文件系统后调用的第一个应用程序是/init,此文件的很重要的内容是解析了init.rc和init.xxx.rc 两个配置文件,然后执行解析出来的任务。转载 2015-12-02 09:52:04 · 728 阅读 · 0 评论 -
ARM Linux系统调用
下面的分析以2.6.34为例。内核部分ARM-Linux的系统调用列表定义在arch/arm/kernel/call.S中: * This file is included thrice in entry-common.S //entry-common.S将会包含这个文件。根据偏移量,获取函数的指针*//* 0 */转载 2015-11-20 12:50:45 · 1752 阅读 · 0 评论 -
Linux 如何使用gdb 查看core堆栈信息
core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的。调试的话输入: gdb filename core filename就是产生core文件的可执行文件,core就是产生的dump文件查看栈信息—————当程序被停住了,你需要做的第一件事就是查看转载 2015-07-29 20:22:40 · 703 阅读 · 0 评论 -
Android平台使用GDBServer 调试Native C代码
最近在Android Native C开发过程中,需要调试代码。之前利用GDBServer在嵌入式平台调试过代码。而Android 下的Native C程序,其实从实质上来说,和嵌入式平台的C代码等级相同(他们都是嵌入式平台下,Linux代码,均为ELF格式,只是C库不同而已)。 所以理论上,使用NDB提供的GDB和GDBServer就可以正常调试代码。0. 程序位置:转载 2015-07-29 20:22:25 · 688 阅读 · 0 评论 -
Android编译过程详解(一)
Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.htmlAndroid编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.htmlAndroid编译过程详解(三):http://www.cnblogs.com转载 2015-12-04 11:23:20 · 1813 阅读 · 0 评论