前一阶段,在学习的时候,遇到了我觉得的我接触安卓以来的最多的一次事件拦截出来,那个项目,用到了slidemenu側滑菜单条,然后加上tab标签,还有轮播广告,listview上下滑动.viewpager的左右监听,假设没有处理各种事件的监听,那么就会一团糟.会让系统不知道究竟要响应你的哪一个事件,有了点启示.在这自己就写一个小的demo来分享一下事件的拦截机制. 我们想要了解事件拦截机制,我们首先来看下onInterceptTouchEvent这种方法: onInterceptTouchEven…
前面对于MediaPlayer的系统研究,刚刚开始,由于其他原因现在要先暂停一下.这次要看的模块是android 4.2 系统中的Keyguard模块.在接触之后才发现,android4.2的keyguard模块与之前相比,变化挺大的,最起码名字上变化挺大的.由于对于Android系统了解不是很深入,而且知识和经验都比较弱,在文中肯定有不恰当或者错误的地方,请各位路过的大神不吝指正. 在Android 4.2中,keyguard的模块存放的目录是在[/frameworks/base/policy…
Android.mk文件简单分析 一个Android.mk文件用来向编译系统描写叙述须要编译的源码.详细来说:该文件是GNUMakefile的一小部分.会被编译系统解析一次或多次. 能够在每个Android.mk中定义一个或多个模块,也能够在几个模块中使用同一个源码文件. 每一个模块属下列类型之中的一个: 1)APK程序.一般的Android程序,编译打包生成apk文件 2)JAVA库,java类库,编译打包生成jar文件 3)  C\C++应用程序,可运行的C\C++应用程序 4)C\C++静…
http://blog.csdn.net/zxccxzzxz/article/details/54150396 Android实现录屏直播(一)ScreenRecorder的简单分析 Android实现录屏直播(二)需求才是硬道理之产品功能调研 Android实现录屏直播(三)MediaProjection + VirtualDisplay + librtmp + MediaCodec实现视频编码并推流到rtmp服务器 应项目需求瞄准了Bilibili的录屏直播功能,基本就仿着做一个吧.研究后发…
一个简短的引论 以往的研究太偏应用层的功能,实现了,原则上不进入非常理解,现在,研究人员framework该框架层. 创纪录的 1.下载源代码,文件夹例如以下: 2.Android系统的层次例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFua2V0cmVl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""…
1. 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework面存一些资料待有空查看. 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony目录 文件 描述 CellIdentityCdma //描述电信通信标识 CellIdentityGsm 描述移动通信标识 CellIdentityLte 描述3G通信标识 CellIdentityWcdma 描述联通通信标识 CellInfo 手机信息(什么网络.是否已注册.记录时间) class…
Android Framework 简介 简介 之前的研究太偏向应用层功能实现了,很多原理不了解没有详记,结果被很多公司技术人员鄙视了,为了减少自己的短板,重新复习了一遍C++.java.Android的开发,现在开始研究应用框架层了. 记录 1.下载源码,目录如下: 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony目录 文件 描述 CellIdentityCdma //描述电信通信标识 CellIdentityGsm 描述移动通信标识 CellIdentit…
简介 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework框架层了. 记录 1.下载源码,目录如下: 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony目录 文件 描述 CellIdentityCdma //描述电信通信标识 CellIdentityGsm 描述移动通信标识 CellIdentityLte 描述3G通信标识 CellIdentityWcdma 描述联通通信标识 CellInfo 手机信息(什么网络.是否已注册.记录…
1. 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework面存一些资料待有空查看. 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony目录 文件 描述 CellIdentityCdma //描述电信通信标识 CellIdentityGsm 描述移动通信标识 CellIdentityLte 描述3G通信标识 CellIdentityWcdma 描述联通通信标识 CellInfo 手机信息(什么网络.是否已注册.记录时间) class…
简介 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework框架层了. 记录 1.下载源码,目录如下: 2.Android系统的层次如下: 3.项目目录简单分析如下:…
Init 是所有Linux程序的起点,而Zygote于Android,正如它的英文意思,是所有java程序的'孵化池'(玩过星际虫族的兄弟都晓得的).用ps 输出可以看到 >adb shell ps | grep -E 'init|926' root 1 0 656 372 00000000 0805d546 S /init root 926 1 685724 43832 ffffffff b76801e0 S zygote system 1018 926 795924 62720 ffffff…
Linus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Framework来说,整个代码量非常大不说,那些个动辄几万行的类如何去理解?所以我今天要说的就是: Debug the fucking source code!! 之前分享过一个答案:大家遇到过什么 Android 兼容性问题?,这里面的有一些非常诡异的问题,我相信光靠看代码你是永远定位不出来的.还有我写的…
博客首页:http://www.cnblogs.com/kezhuang/p/关于Activity的contentView的构建过程,我在我的博客中已经分析过了,不了解的可以去看一下<[Android FrameWork 6.0源码学习] Window窗口类分析>本章博客是接着上边那篇博客分析,目的是为了引出分析ViewRootImpl这个类.现在只是分析完了Window和ActivityThread的调用过程从ActivityThread到WindowManager再到ViewRootImp…
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 FFmpeg源代码结构图 - 编码 [通用] FFmpeg 源代码简单分析:av_register_all() FFmpeg 源代码简单分析:avcodec_register_all() FFmpeg 源代码简单分析:内存的分配和释放(av_malloc().av_free()等) FFmpeg 源代…
参考文章: http://gityuan.com/2015/12/26/handler-message-framework/#next 参考资料: Android Framework的源码: Message.java MessageQueue.java Looper.java Handler.java ThreadLocal.java (以上几个类代码都不复杂,自己去打开看一看还是有必要的) 1.前言 在Android开发中,Handler是非常常用的,如果多线程需要切换到主线程更新UI,通常都…
Android 界面滑动卡顿分析与解决方案(入门) 导致Android界面滑动卡顿主要有两个原因: 1.UI线程(main)有耗时操作 2.视图渲染时间过长,导致卡顿 目前只讲第1点,第二点相对比较复杂待以后慢慢研究. 众所周知,界面的流畅度主要依赖FPS这个值,这个值是通过(1s/渲染1帧所花费的时间)计算所得,FPS值越大视频越流畅,所以就需要渲染1帧的时间能尽量缩短.正常流畅度的FPS值在60左右,即渲染一帧的时间不应大于17ms. 先看一个例子: 见Video1,该应用通过一组URL加载…
众所周知,Android是一个基于Linux实现的操作系统.但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别. 所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源.当Framework完成初始化后才能继续启动相应的APK应用程序. Framework这么重要,那我们该如何学习呢? 关于如何学习Android Framework开发知识,最近有幸在前阿里技术…
简介 CSipSimple是一款可以在android手机上使用的支持sip的网络电话软件,可以在上面设置使用callda网络电话.连接使用方式最好是使用wifi,或者3g这样上网速度快,打起电话来效果才好.下面简单分析一下其. 功能介绍 1.注册流程 用户首先选择使用哪国哪个类型,这是由com.csipsimple.wizards.impl包下完成的.该包下实现接口WizardIface,接口方法中有SipProfile buildAccount(SipProfile account);产生一个…
现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易.但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Linux kernal的漏洞吗?本文将简单对root的破解原理进行分析. 网上有一篇文章已经对root破解的基本原理进行了简单介绍,大家可以先参考一下<android root权限破解分析>,本文只能说对root原理进行了方向性的描述,但是在一些具体的方面没有描述清楚.本文将会对其进行一些必要的扩展和…
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5013863.html Android系统启动流程源码分析 首先我们知道,Android是基于Linux的,当Linux内核加载完成时就会自动启动一个init的进程. 又因为我们每当我们启动一个App时,就会生成一个新的dalvik实例,并处于一个新的进程(当然一个App也可能是多进程的). 当我们打开第一个App的时候,就会通过init进程fork出一个zyg…
二,关机流程 从前一篇博文我们知道,当用户长按Power键时会弹出(关机.重启,飞行模式等选项)对话框,我们点击关机,则会弹出关机确认对话框.那么从选项对话框到关机确认对话框又是一个什么流程呢.下面我们在简单分析一下: showGlobalActionsDialog()-->showDialog()-->handleShow()-->createDialog()-->onPress()-->shutdown() PhoneWindowManager.java     void…
http://my.eoe.cn/1087692/archive/5927.html 一.关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receiver…
解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是build出一个bin文件,再存放到/system/bin目录下,对于C/CPP写的命令,我们还是比较好理解的,都有一个main函数作为入口,但是在cmds目录下还有一些原生代码是java的,比如input.settings,那么这种类型的命令是怎么实现的呢? 笔者研习了原生的命令实现,写了一个dem…
最近工作任务不忙,学习一下Android Framework方面的知识. 一.介绍,是什么 Android的Framework是直接应用之下的一层,叫做应用程序框架层.这一层是核心应用程序所使用的API框架,为应用层提供各种API,提供各种组件和服务来支持我们的Android开发,包括ActivityManager,WindowManager,ViewSystem等.下面贴一张学习Android时常见的Android系统架构图: 二.有什么 Android Framework框架包含了3个主要部…
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 FFmpeg源代码结构图 - 编码 [通用] FFmpeg 源代码简单分析:av_register_all() FFmpeg 源代码简单分析:avcodec_register_all() FFmpeg 源代码简单分析:内存的分配和释放(av_malloc().av_free()等) FFmpeg 源代…
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 FFmpeg源代码结构图 - 编码 [通用] FFmpeg 源代码简单分析:av_register_all() FFmpeg 源代码简单分析:avcodec_register_all() FFmpeg 源代码简单分析:内存的分配和释放(av_malloc().av_free()等) FFmpeg 源代…
关于石墨文档(Android)客户端的案例分析 作业地址:[https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505] 第一部分调研,评测 1.下载并使用,按照描述的bug定义,找3~5个功能性的比较严重的bug.请用专业的语言描述(每个bug 不少于 40字),如有必要,请配图. 答: Bug1:文字识别功能不准确,当我使用拍照和照片进行文字识别的时候,发现有一部分内容没有识别到,一部分出现错别字,还有一部分内容识别顺序有误,我认为这一部…
漏洞影响版本: ThinkPHP 5.0.5-5.0.22 ThinkPHP 5.1.0-5.1.30 漏洞复现: 一.mac的debug环境搭建. 一键化环境搭建工具: mamp pro ,调试工具 PHPstorm 打开mamp pro,设置左上角的file->Edit Template, 设置httpd.conf (监听本地) ServerName 127.0.0.1:8087 Listen 127.0.0.1:8087 打开mamp pro,设置左上角的file->Edit Templ…
当初跟踪Camera的代码中的时候一直追到了HAL层,而在Framework中的代码看见了许很多多的Thread.它们普遍的特点就是有一个threadLoop方法.依照字面的意思应该是这个线程能够循环处理数据.相应我想到到了java上层中的HandlerThread,这个预计也差点儿相同,但当时心里总有一个疙瘩.想弄清楚它为什么能够循环.还有它究竟是怎么循环起来的? Android中java世界的Thread 我们先来看看java是怎么创建一个线程的.这个是最舒服的,也是我最熟悉的. new T…
在Okhttp源码分析专栏的几篇博客分析了Okhttp几个拦截器的主要功能,还剩下最后一个拦截器CallServerInterceptor没有分析,本篇博客就简单分析下该拦截器的功能. 在Okhttp拦截器链上CallServerInterceptor拦截器是最后一个拦截器,该拦截器前面的拦截器ConnectInterceptor主要负责打开TCP链接(详见< OkHttp之ConnectInterceptor简单分析 >).而CallServerInterceptor的主要功能就是-向服务器…