android源码
Tomes_V_White
我对技术一无所知
展开
-
Android源码分析之为什么在onCreate() 和 onResume() 获取不到 View 的宽高
转载自:https://www.jianshu.com/p/d7ab114ac1f7先来看一段很熟悉的代码,可能在最开始接触安卓的时候,大部分人都写过的一段代码;即尝试在 onCreate() 和 onResume() 方法中去获取某个 View 的宽高信息:但是打印输出后,我们会发现,在这两个方法中根本获取不到 View 的宽高信息。public class MainActivit...转载 2018-08-31 19:30:06 · 1558 阅读 · 0 评论 -
Android源码解析之Dalvik虚拟机的启动过程分析
转载自:http://blog.csdn.net/luoshengyang/article/details/8885792 在Android系统中,应用程序进程都是由Zygote进程孵化出来的,而Zygote进程是由Init进程启动的。Zygote进程在启动时会创建一个Dalvik虚拟机实例,每当它孵化一个新的应用程序进程时,都会将这个Dalvik虚拟机实例复制到新的应用程序进程转载 2017-12-05 16:59:29 · 559 阅读 · 0 评论 -
Android源码解析之Dalvik虚拟机简要介绍和学习计划
转载自:http://blog.csdn.net/luoshengyang/article/details/8852432 我们知道,Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。除了指令集和类文件格式不同,Dalvik虚拟机与Java虚拟机共享有差不多的特性,例如,它们都是解释执行,并且支持即时编译(JIT)转载 2017-12-05 10:14:14 · 555 阅读 · 0 评论 -
Android源码解析之运行时ART简要介绍和学习计划
转载自:http://blog.csdn.net/luoshengyang/article/details/39256813 Android在4.4就已推出新运行时ART,准备替代用了有些时日的Dalvik。不过当时尚属测试版,主角仍是Dalvik。 直到今年的Google I/O大会,ART才正式取代Dalvik。这个消息在科技界引起不小轰动,也吸引不少技术人员对它的“技术转载 2017-12-04 15:31:28 · 1212 阅读 · 0 评论 -
Android源码解析之应用程序启动进程
转载自:http://blog.csdn.net/luoshengyang/article/details/6747696 Android应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口函数是ActivityThread.main,二是进程天然支持Binder进程间通信机制;这两个特点都是在进程的初始化过程中实现的,本文将详细分析Android应用程序进程创建过程中转载 2017-12-13 09:57:04 · 333 阅读 · 0 评论 -
Android源码基础解析之HOME事件流程
转载自:http://blog.csdn.net/qq_23547831/article/details/51475929上一篇文章中我们介绍了android系统的截屏事件,由于截屏事件是一种系统全局处理事件,所以事件的处理逻辑不是在App中执行,而是在PhoneWindowManager中执行。而本文我们现在主要讲解android系统中HOME按键的事件处理,和截屏事件类似,这里的HOM转载 2017-11-24 11:08:36 · 530 阅读 · 0 评论 -
Android源码解析之ART运行时无缝替换Dalvik虚拟机的过程分析
转载自:http://blog.csdn.net/luoshengyang/article/details/18006645 Android 4.4发布了一个ART运行时,准备用来替换掉之前一直使用的Dalvik虚拟机,希望籍此解决饱受诟病的性能问题。老罗不打算分析ART的实现原理,只是很有兴趣知道ART是如何无缝替换掉原来的Dalvik虚拟机的。毕竟在原来的系统中,大量的代转载 2017-12-04 11:34:20 · 482 阅读 · 0 评论 -
Android源码解析之bindService过程分析
转载自;http://blog.csdn.net/luoshengyang/article/details/6745181 Android应用程序组件Service与Activity一样,既可以在新的进程中启动,也可以在应用程序进程内部启动;前面我们已经分析了在新的进程中启动Service的过程,本文将要介绍在应用程序内部绑定Service的过程,这是一种在应用程序进程内部启动转载 2017-12-12 16:01:23 · 606 阅读 · 0 评论 -
Android源码基础解析之截屏事件流程
转载自:http://blog.csdn.net/qq_23547831/article/details/51474288今天这篇文章我们主要讲一下Android系统中的截屏事件处理流程。用过android系统手机的同学应该都知道,一般的android手机按下音量减少键和电源按键就会触发截屏事件(国内定制机做个修改的这里就不做考虑了)。那么这里的截屏事件是如何触发的呢?触发之后androi转载 2017-11-23 17:36:25 · 574 阅读 · 0 评论 -
Android源码基础解析之Dialog取消绘制流程
转载自:http://blog.csdn.net/qq_23547831/article/details/51303072上几篇文章中我们分析了Dialog的加载绘制流程,也分析了Acvityi的加载绘制流程,说白了Android系统中窗口的展示都是通过Window对象控制,通过ViewRootImpl对象执行绘制操作来完成的,那么窗口的取消绘制流程是怎么样的呢?这篇文章就以Dialog为转载 2017-11-22 11:26:17 · 535 阅读 · 0 评论 -
Android源码解析之应用程序发送广播过程分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6744448 前面我们分析了Android应用程序注册广播接收器的过程,这个过程只完成了万里长征的第一步,接下来它还要等待ActivityManagerService将广播分发过来。ActivityManagerService是如何得到广播并把它分发出去的呢?这就是本文转载 2017-12-09 16:41:11 · 591 阅读 · 0 评论 -
Android源码解析之动态注册广播接收器的过程分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6737352 前面我们介绍了Android系统的广播机制,从本质来说,它是一种消息订阅/发布机制,因此,使用这种消息驱动模型的第一步便是订阅消息;而对Android应用程序来说,订阅消息其实就是注册广播接收器,本文将探讨Android应用程序是如何注册广播接收器以及把广转载 2017-12-09 14:27:49 · 461 阅读 · 0 评论 -
Android源码解析之广播(Broadcast)机制简要介绍和学习计划
转载自:http://blog.csdn.net/luoshengyang/article/details/6730748 在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制;这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用;本文通过一个简单的例子来学习Android系统的广播机制,为后续分析转载 2017-12-09 10:44:03 · 387 阅读 · 0 评论 -
Android源码解析之新进程中启动自定义服务过程(startService)的原理分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6677029 在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验。Android系统为我们提供了一个Service类,我们可以实现一个以Service为基类的服务子类,在里面实现自己的计算转载 2017-12-06 16:09:26 · 499 阅读 · 0 评论 -
Android源码基础解析之电源开关机按键事件流程
转载自:http://blog.csdn.net/qq_23547831/article/details/51487978前面我们讲解了系统截屏按键处理流程,HOME按键处理流程,今天再来讲解一下电源开关机按键事件流程,当然这也是系统按键处理流程方面的最后一篇博客了。和截屏按键、HOME按键的处理流程类似,电源按键由于也是系统级别的按键,所以对其的事件处理逻辑是和截屏按键、HOME转载 2017-11-27 17:16:58 · 1164 阅读 · 0 评论 -
Android源码解析之应用程序资源管理器(Asset Manager)的创建过程分析
转载自:https://blog.csdn.net/luoshengyang/article/details/8791064我们分析了Android应用程序资源的编译和打包过程,最终得到的应用程序资源就与应用程序代码一起打包在一个APK文件中。Android应用程序在运行的过程中,是通过一个称为AssetManager的资源管理器来读取打包在APK文件里面的资源文件的。在本文中,我们就将详细分...转载 2018-07-31 20:49:42 · 985 阅读 · 0 评论 -
Android源码解析之loadLibrary() 的执行过程
转载自:http://gityuan.com/2017/03/26/load_library/重要参照(可惜格式原因,不然我想转这篇,该篇4.2.2):https://my.oschina.net/wolfcs/blog/129696我想抱怨一句,为啥都快底层的东西了,都还老是变来变去啊……本文讲述的Android 6.0系统体系架构, 分析动态库的加载过程.lib转载 2018-01-27 17:32:21 · 2036 阅读 · 0 评论 -
Android源码解析之Launcher启动分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6767736 在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将详细分析Lau转载 2018-01-26 16:45:56 · 377 阅读 · 0 评论 -
Android源码解析之Zygote启动过程的源代码分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6768304 在Android系统中,所有的应用程序进程以及系统服务进程SystemServer都是由Zygote进程孕育(fork)出来的,这也许就是为什么要把它称为Zygote(受精卵)的原因吧。由于Zygote进程在Android系统中有着如此重要的地位,本转载 2018-01-27 15:44:25 · 402 阅读 · 0 评论 -
ViewPager源码分析之onMeasure、onLayout
转载自:https://www.jianshu.com/p/b0830f9b44bb我们知道,ViewPager是一个ViewGroup,而我们平时自己自定义ViewGroup时,除了至少写两个构造函数以外,onMeasure和onLayout这两个函数基本上是必须要去写的。今天先把onMeasure和onLayout两个函数仔细研究研究~onMeasureViewPager将子Vie转载 2018-01-26 17:14:29 · 696 阅读 · 0 评论 -
ViewPager源码分析之滑动实现
转载自:http://blog.csdn.net/huachao1001/article/details/51654692上一篇介绍了ViewPager的onMeasure和onLayout两个方法,这是自定义View最基本的两个函数。但是我们的ViewPager有个需求就是滑动,接下来我们一起去学习ViewPager在滑动方面做了哪些工作,以及ViewPager如何处理与子View之转载 2018-01-26 17:14:05 · 341 阅读 · 0 评论 -
ViewPager源码分析之与PagerAdapter 交互
转载自:http://blog.csdn.net/huachao1001/article/details/51658334我们知道,ViewPager显示的页面离不开我们定义的适配器,正是因为我们编写了自己的适配器,才让ViewPager显示出满足你的需求的内容,那么ViewPager是如何与适配器(PagerAdapter)进行交互的呢?我们今天来研读一下ViewPager中与Pag转载 2018-01-26 17:13:54 · 269 阅读 · 0 评论 -
Android源码解析之应用程序安装过程分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6766010 Android系统在启动的过程中,会启动一个应用程序管理服务PackageManagerService,这个服务负责扫描系统中特定的目录,找到里面的应用程序文件,即以Apk为后缀的文件,然后对这些文件进解析,得到应用程序的相关信息,完成应用程序的安装转载 2018-01-26 11:44:39 · 325 阅读 · 0 评论 -
Android源码解析之存储系统
转载自:http://gityuan.com/2016/07/17/android-io/基于Android 6.0源码, 来分析存储相关架构,涉及源码:/framework/base/services/java/com/android/server/SystemServer.java/framework/base/services/core/java/com/android转载 2018-01-23 15:12:13 · 416 阅读 · 0 评论 -
Android源码解析之应用程序内部启动Activity过程(startActivity)的源代码分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6703247#reply 上文介绍了Android应用程序的启动过程,即应用程序默认Activity的启动过程,一般来说,这种默认Activity是在新的进程和任务中启动的;本文将继续分析在应用程序内部启动非默认Activity的过程的源代码,这种非默认Activity转载 2017-12-07 17:42:28 · 707 阅读 · 0 评论 -
Android源码解析之应用程序启动过程源代码分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6689748 前文简要介绍了Android应用程序的Activity的启动过程。在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Andro转载 2017-12-07 14:52:24 · 369 阅读 · 0 评论 -
Android源码解析之Activity启动过程简要介绍和学习计划
转载自:http://blog.csdn.net/luoshengyang/article/details/6685853注:源码版本看2.3.3 在Android系统中,Activity和Service是应用程序的核心组件,它们以松藕合的方式组合在一起构成了一个完整的应用程序,这得益于应用程序框架层提供了一套完整的机制来协助应用程序启动这些A转载 2017-12-06 16:59:33 · 368 阅读 · 0 评论 -
Android源码解析之应用程序在新的进程中启动新的Activity的方法和过程分析
转载自:http://blog.csdn.net/luoshengyang/article/details/6720261 前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Act转载 2017-12-08 17:46:56 · 518 阅读 · 0 评论 -
Android源码解析之singleTask launchMode
转载自:http://blog.csdn.net/luoshengyang/article/details/6714543 在Android应用程序中,可以配置Activity以四种方式来启动,其中最令人迷惑的就是"singleTask"这种方式了,官方文档称以这种方式启动的Activity总是属于一个任务的根Activity。果真如此吗?本文将为你解开Activity的"s转载 2017-12-08 14:32:09 · 612 阅读 · 0 评论 -
从源码带你理解AlertDialog.getButton为什么是null
转载自:http://blog.csdn.net/y12345654321/article/details/72673270我们在使用 AlertDialog 的时候,如果想改变 POSITIVE_BUTTON 或者 NEGATIVE_BUTTON 的字体颜色、大小时,可能会注意到 AlertDialog.getButton(DialogInterface.BUTTON_POSITIVE)转载 2017-07-17 11:56:00 · 850 阅读 · 0 评论 -
Android源码基础解析之Launcher启动流程
转载自:http://blog.csdn.net/qq_23547831/article/details/51112031本文我们将讲解Launcher相关的知识。Launcher程序就是我们平时看到的桌面程序,它其实也是一个Android应用程序,只不过这个应用程序是系统默认第一个启动的应用程序,这里我们就简单的分析一下Launcher应用的启动流程。不同的手机厂商定制andro转载 2017-06-14 14:24:12 · 706 阅读 · 0 评论 -
Android源码基础解析之SystemServer进程启动流程
转载自:http://blog.csdn.net/qq_23547831/article/details/51105171整个系统的android framework进程启动流程如下:init进程 –> Zygote进程 –> SystemServer进程 –>各种应用进程那么SystemServer进程是做什么用的呢?其实SystemServer进程主要的作用是启转载 2017-06-13 13:00:42 · 618 阅读 · 0 评论 -
Android源码基础解析之Zygote进程启动流程
点题外话,对于想学Android framework源码的同学,其实可以在github中fork一份,具体地址:platform_frameworks_base 这里面基本都是android framework层的源码了。而且最近发现了一个比较不错的github插件:Oc转载 2017-06-12 12:40:57 · 409 阅读 · 0 评论 -
Android源码基础解析之IntentService
文章中我们讲解了HandlerThread,其本质上是一个Thread,只不过内部定义了其自身的Looper和MessageQueue。为了让多个线程之间能够方便的通信,我们会使用Handler实现线程间的通信。这个时候我们手动实现的多线程+Handler的简化版就是我们H转载 2017-06-10 15:14:34 · 339 阅读 · 0 评论 -
Android源码基础解析之HandlerThread
转载自:http://blog.csdn.net/lmj623565791/article/details/47079737/参考:http://blog.csdn.net/u011240877/article/details/729056311、概述话说最近股市变动不变,也成了热火朝天的话题。不知道大家有没有考虑做个实时更新股市数据的app呢?假设我们要做一个股市数据...转载 2017-06-09 17:45:46 · 402 阅读 · 0 评论 -
Android源码基础解析之异步任务AsyncTask
上一篇文章中我们讲解了Android中的异步消息机制。主要讲解了Handler对象的使用方式,消息的发送流程等。android的异步消息机制是android中多任务处理的基础,Handler是整个android应用层体系异步消息传递的基础组件,通过对Handler源码的解析的解转载 2017-06-09 11:15:56 · 396 阅读 · 0 评论 -
Android源码基础解析之异步消息处理机制
由于周末通宵看TI3比赛,一直没找到时间写博客,导致已经有好久没更新了。惭愧!后面还会恢复进度,尽量保证每周都写吧。这里也是先恭喜一下来自瑞典的Alliance战队夺得了TI3的冠军,希望明年中国战队能够虎起!开始进入正题,我们都知道,Android UI是线程不安全的,如转载 2017-06-08 10:26:44 · 334 阅读 · 0 评论 -
Android源码基础解析之Android项目构建过程
平时开发过程中我们通过Android studio编写完成android项目之后直接点击 Run ‘app’就可以在build/outputs/apk生成可以在android设备中安装的apk文件了,那么整个android源码的构建过程是怎么样的呢?我们可以根据Google官方转载 2017-06-07 10:57:56 · 433 阅读 · 0 评论 -
Android源码基础解析之apk安装流程
转载自:http://blog.csdn.net/qq_23547831/article/details/51210682上一篇文章中给大家分析了一下Android系统启动之后调用PackageManagerService服务并解析系统特定目录,解析apk文件并安装的过程,这个安装过程实际上是没有图形界面的,底层调用的是我们平时比较熟悉的adb命令,那么我们平时安装apk文件的时候大部分是转载 2017-06-17 10:09:29 · 747 阅读 · 0 评论 -
Android源码基础解析之系统启动并解析Manifest的流程
转载自:http://blog.csdn.net/qq_23547831/article/details/51203482最近有同学问我关于Manifest何时被系统解析的问题,正好也分析到这一块了,索性这一章就讲解一下Android系统何时解析Manifest吧,这里的Manifest指的是android安装文件apk中的androidManifest.xml文件是何时被解析的。 大转载 2017-06-16 09:52:59 · 1256 阅读 · 0 评论