E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
android源码分析
Android源码分析
之App启动流程(一)
Framework代码虽然没有读过,但是相关的文章看过很多,各方大牛阅读的姿势也了解了不少,可到自己开始学习时还是有无从下手的感觉。Binder应该是看过的博客中提到最多次的概念了,然而现在我除了知道它是用来搞进程间通讯的之外,其它的就一无所知了,也不知道它对开发一个App有什么样的作用,想从它下手是不可能了。想来想去,还是对App最为熟悉,所以就先搞清楚一个APP从启动到运行的整个流程吧。And
大大纸飞机
·
2020-04-14 02:02
通过
Android源码分析
再探观察者模式(二)
接着上篇文章,现在在通过Android实际开发和源码再探观察者模式,listview是我们日常开发中必用的控件,虽然之前就有listview的替代品(recyclerview),现在不去深究两个控件到底谁好谁差,但有一点需要强调下,它们之间有一大相同点,都是通过观察者模式去实现数据更新。首先,我们先去看一个简单的例子/****createdbyzeroon2016-6-1**通过listview再
AndroidZero
·
2020-04-13 04:09
从
Android源码分析
View绘制流程
AndroidView丰富的View类型是Android手机的一大亮点,我们每天都在跟View打交道,了解View的绘制流程有助于我们更好的布局,以及实现漂亮高效的自定义View。本文将结合Android源码讲解View的绘制流程,不会拘泥于细节,主要是为了提供一个流程上的认识。关键路径摘要ViewRootImpl->performTraversals->performMeasure->perfo
JackMeGo
·
2020-04-12 03:15
Android源码分析
-Android9.0下的Activity启动流程
前言最近在阅读Android源码时,发现最新的Android9.0源码中startActivity启动Activity的流程相比于低版本的Android源码来说改动较大。故写下此文,记录下源码追踪流程,方便以后自己复查,同时也分享给有需要的读者。Activity->startActivity@OverridepublicvoidstartActivity(Intentintent,@Nullabl
RaoMeng
·
2020-04-08 05:37
Android源码分析
之Activity启动与View绘制流程(二)
续前节,接下来我们分析ViewRootImpl#performTraversals方法,代码如下:/frameworks/base/core/java/android/view/ViewRootImpl.javaprivatevoidperformTraversals(){...intchildWidthMeasureSpec=getRootMeasureSpec(mWidth,lp.width)
大大纸飞机
·
2020-04-04 06:18
Android源码分析
之消息机制Handler
1前言Handler在Android开发中使用的比较多,通常Handler是在主线程中创建,子线程拿到这个Handler向主线程中发送消息。那么如果需要主线程中向子线程中发送消息呢?本文只是提出这个问题,并不在此提供实现这种场景的例子,写这篇文章的目的主要是理解Handler的运行原理,以便更好、更灵活的运用Handler。2Android消息机制简介Android的消息机制主要是指Handler
sososeen09
·
2020-04-01 03:53
Android源码分析
-Activity启动流程(一)
前言其实在之前就研究过Activity的启动流程,查看过很多资料,说实话这不是一时半会就能弄明白了解透彻的,这里面牵扯到的东西和知识也是非常多,那么我呢将对其做一个比较详细的总结和分析,至于一些细节以后有机会再单独分析,我相信只要阅读此文你将会对Activity的启动模式有一个大概的了解,如果您想要深入了解还得自己多结合源码分析翻阅相关资料,此篇文章基于Android8.0源码进行分析,有不对的地
小巨人Vea
·
2020-03-31 12:59
Android源码分析
之界面的构成和创建
前言对于大部分Android开发而言界面都是我们开发必不可少的环节,但是大部分人对界面的理解还只停留在id为content的根布局中,我们自己的布局外到底套着多少布局?为什么在onCreate中无法通过getWidth()和getMeasuredWidth()拿到view的尺寸?为什么View不能在子线程中更新,但是在onResume中和onResume之前可以在子线程中更新?这些疑问在阅读完本篇
mashanshui
·
2020-03-30 10:37
Android源码分析
《Android源码设计模式》学习笔记之ImageLoader请叫我大苏基于滑动场景解析RecyclerView的回收复用机制原理【Android】再来一篇Fragment的懒加载(只加载一次哦)枫叶栈的ThreadLocal源码分析从源码理解AndroidHandler消息机制唠唠HandlerThread和IntentServiceAndroidLruCache源码分析阴月有晴_Android
李福来
·
2020-03-28 19:32
Android源码分析
计划
1.okhttp3源码分析好处拥有自动维护的socket连接池拥有队列线程池拥有Interceptors(拦截器)轻松处理请求与响应基于Headers的缓存策略流程当我们用OkHttpClient.newCall(request)进行execute/enenqueue时,实际是将请求Call放到了Dispatcher中,okhttp使用Dispatcher进行线程分发,它有两种方法,一个是普通的同
吕志豪
·
2020-03-27 06:28
Android源码分析
之App启动流程(二)
续前节,我们已经知道,Zygote孵化完进程之后会invokeActivityThread#main方法,现在继续看剩下的部分。该方法代码如下:/frameworks/base/core/java/android/app/ActivityThread.javapublicstaticvoidmain(String[]args){...Looper.prepareMainLooper();Activ
大大纸飞机
·
2020-03-22 05:40
(连载)Android 8.0 : 系统启动流程之init进程(二)
这是一个连载的博文系列,我将持续为大家提供尽可能透彻的
Android源码分析
github连载地址前言上一篇中讲了init进程的第一阶段,我们接着讲第二阶段,主要有以下内容创建进程会话密钥并初始化属性系统进行
foxleezh
·
2020-03-17 02:07
Android源码分析
之浅析Android系统启动过程
0.Android的两个世界Android系统存在两个世界:Java世界和Native(C或者C++的世界)世界,而大部分应用层开发者除了少数时候用到JNI之外,接触到的通常只是Java世界。Android系统基于Linux内核,最早当然是Native世界。在启动电源将ROM加载到RAM之后,BootLoader启动系统,进入Android内核层。内核启动时,初始化进程管理、内存管理,加载Disp
smartzheng
·
2020-03-15 18:09
Volley使用指南与源码分析
标签(空格分隔):
Android源码分析
篇#官方整个请求流程此处输入图片的描述这个图的原理在郭霖对volley的分析的最后有讲工作流程原理:1.使用Volley的第一步,首先要调用Volley.newRequestQueue
背影杀手不太冷
·
2020-03-13 06:25
Android源码分析
之ListView源码
系列文章:
Android源码分析
之ListView源码
Android源码分析
之RecyclerView源码分析(一)——绘制流程
Android源码分析
之RecyclerView源码分析(二)——缓存机制前言
Hengtao24
·
2020-03-10 19:52
Android源码分析
之Activity启动与View绘制流程(一)
我们已经掌握了App从创建进程到实例化ActivityThread的过程,接下来继续研究Activity的启动过程。从ActivityThread#handleLaunchActivity说起Activity的实例化是在ActivityThread#handleLaunchActivity中完成的,相关代码如下:/frameworks/base/core/java/android/app/Acti
大大纸飞机
·
2020-03-05 12:05
Android源码分析
Debug下ReactNative的bundle文件加载流程
本文主要分析在debug环境下Android是怎么加载到bundle文件的主要加载流程,不涉及太底层的代码均是Java代码分析。开始首先我们也在AndroidStudio中多多少少看过RN的源码,也知道它其实就是一个ReactRootView,而且是通过下面这段代码进行加载相对应的视图呈现我们要的UI效果:mReactRootView.startReactApplication(getReactN
左手木亽
·
2020-02-28 04:34
activty小结
有用的博客:
Android源码分析
-Activity的启动过程Activity启动全过程解析先看一张图,根据这张图可以很清楚的开到Activity启动过程中各个方法的调用过程:activity启动过程ActivityManagerServices
mecury
·
2020-02-23 23:07
Android源码分析
之Touch事件分发机制
研究了View的绘制流程,接下来不得不研究下View的Touch事件机制,只有掌握了这两方面的知识,才能对View有全面的认识,Touch事件的入口在Activity中,代码如下:publicbooleandispatchTouchEvent(MotionEventev){if(ev.getAction()==MotionEvent.ACTION_DOWN){onUserInteraction()
大大纸飞机
·
2020-02-23 21:52
设计模式之四:访问者模式
目录介绍1.访问者模式介绍2.访问者模式定义3.访问者模式UML图4.访问者模式简单案例5.访问者模式之
Android源码分析
5.1注解简单介绍5.2注解与访问者模式关系5.3注解与性能的关系6.访问者模式之实践
杨充211
·
2020-02-23 14:16
[
Android源码分析
] - 异步通信Handler机制
一、问题:在Android启动后会在新进程里创建一个主线程,也叫UI线程(非线程安全)这个线程主要负责监听屏幕点击事件与界面绘制。当Application需要进行耗时操作如网络请求等,如直接在主线程进行容易发生ANR错误。所以会创建子线程来执行耗时任务,当子线程执行完毕需要通知UI线程并修改界面时,不可以直接在子线程修改UI,怎么办?解决方法:MessageQueue机制可以实现子线程与UI线程的
wingjay
·
2020-02-22 15:07
Android源码分析
之Handler
Handler在Android开发中无处不在,它的使用方式想必大家都已经很熟练了,这里主要是分析它的原理。我们从ActivityThread#main方法开始,一步步理解Handler的机制。相关代码如下:/frameworks/base/core/java/android/app/ActivityThread.javapublicstaticvoidmain(String[]args){...L
大大纸飞机
·
2020-02-18 09:22
Android源码分析
--广播的注册、发送和接收
广播的注册、发送和接收过程广播的注册、发送和接收都与AMS有着密不可分的关系。广播的注册广播的注册可分为静态注册和动态注册两种,静态注册在应用安装时由PackageManagerService来完成注册过程,下面我主要来分析动态广播注册。ContextImpl请求AMS注册广播在这里插入图片描述当我们需要动态注册广播时,需要调用Context的registerReceiver方法,然后在Conte
xuexiangjys
·
2020-02-08 02:04
glide4.7.1解析
本文章整理:
Android源码分析
:手把手带你分析Glide的缓存功能1.Glide缓存机制简介1.1缓存的图片资源Glide需要缓存的图片资源分为两类:原始图片(Source):即图片源的图片初始大小
谷雨_时
·
2020-02-07 02:55
Android源码分析
--Handler机制的实现与工作原理
Handler机制在Android中是一个非常重要的知识点,在我们的平常开发中也是经常使用到的。在Android的面试中Handler机制更是必考的题目,而且题目也很单一:请说说Handler、Looper、MessageQueue之间的关系。这个问题无论是我去面试还是我面试别人,都会问到的一个问题。如果你遇到了这个问题,你只是简单的说一下它们是什么什么关系,那是远远不够的。这道题考察的无非就是你
donkingliang
·
2020-01-07 21:56
NT 技术周刊-1014
[原创]摘要�深入ReactNative源码,分析JS与Native如何实现互相调用作者赵波亮推荐理由�从JavaC++JS三个层面分析RN的通讯建立以及如何互相调用,非常全面�ReactNative
Android
imiller
·
2020-01-06 08:15
Android源码分析
(二)-----如何编译修改后的framework资源文件
一:编译framework资源文件如果修改androidframework资源文件,需要先编译资源文件,然后再编译framework才可以正常引用,进入项目目录cdwork/source/frameworks/base/core/res/执行mm编译framework-res.apk(原生或高通)编译完后com.android.internal.R中会生成资源的引用。image.png在目录wor
一莫言一
·
2020-01-04 01:31
Android源码分析
(Activity.setContentView源码解析)
欢迎关注我的公众号公众号源码基于安卓8.0分析结果为什么要写这篇文章?其实是给这个LayoutInflater类铺垫的,要解释这个LayoutInflater源码,就必须知道到底怎么调用的,包括include、merge、ViewStub和原理,如何自己撸一个大小为0的View,我们最能够接触到的地方都是这个方法。调用的是AppCompatActivity的setContentView()@Ove
豌豆射手_BiuBiu
·
2020-01-03 19:06
Android源码分析
——Activity的启动过程
最近在看维术的Android插件化原理解析,需要补充一些Framework层的知识,首先来研究Activity的启动过程。Activity的启动从Activity类中startActivity方法(先看Actiivty中的,后面再看Context中的,本质是一样的)开始。跟着这个方法一步一步跟踪,会发现它最后在startActivityForResult里面调用了Instrument对象的exec
兰心之舞动
·
2019-12-30 19:58
Android源码分析
之setContentView()
前言:当做Android开发一段时间后,对于了解熟悉系统源码是一个无法逃避的劫,因为不管在以后找工作面试,还是提升自己的技术水平都能起着(高逼格)不小的作用,这里就从Activity的setContentView()开始,一点一点的揭开Android系统源码的神秘面纱同时本文是基于25的版本可能对于低版本源码有些出入。分析:在分析源码先来一张个人整理的思维导图都说要带着问题去分析:setConte
明朗__
·
2019-12-30 19:55
(连载)Android 8.0 : 系统启动流程之Linux内核
这是一个连载的博文系列,我将持续为大家提供尽可能透彻的
Android源码分析
github连载地址前言Android本质上就是一个基于Linux内核的操作系统,与UbuntuLinux、FedoraLinux
foxleezh
·
2019-12-30 04:16
CoordinatorLayout 学习(二) - RecyclerView和AppBarLayout的联动分析
本文参考资料:针对CoordinatorLayout及Behavior的一次细节较真
Android源码分析
-
琼珶和予
·
2019-12-29 21:29
Android 源码分析之旅1--系统架构与分析方法、工具
个人公众号:公众号:Android开发进阶《
Android源码分析
之旅》目录ape_fwk_all.png《
Android源码分析
之旅》的全部目录将作如下安排:第1章节——本篇文章,将介绍一些基本的概念
小楠总
·
2019-12-27 10:34
Android源码分析
之Exchange的PUSH技术理解
Android源码分析
之Exchange的PUSH机制摘要本文是一篇介绍Exchange中PUSH机制的文章。
风雪乐雨
·
2019-12-25 12:39
android源码分析
- AysncTask
基于android10.0.0源码分析源码地址(最近墙不出去,贴其他源码地址)https://www.androidos.net.cn/android/10.0.0_r6/xref/frameworks/base/core/java/android/os/AsyncTask.java先来个源码的例子源码分析先从AysncTask.execute()入口step1、step2、蓝框1部分:如果当前A
绿茶grnerTee
·
2019-12-22 23:31
ReactNative
Android源码分析
这篇文章针对于对rn有些基础的同学,没有基础的同学可以先了解一下rn以后再看这篇文章。要想深入理解ReactNative的工作原理,有两个部分的源码需要阅读:rn的初始化和java与js通信的过程,首先分析rn的初始化过程。一、RN的初始化过程从官方rn的demo入手,看rn是如何一步步如何初始化的:publicclassMainActivityextendsReactActivity{/***用
小草33
·
2019-12-21 02:44
RX
Android源码分析
(三) map过程
标签(空格分隔):rxandroidrxjavamap上一篇文章分析了一层结构最简单的事件触发的过程,接下来分析map过程,对于map过程宏观上的认识,借用官网上的一个图从这个图中,我们可以看到,map的过程是一个一对一的过程,且针对的对象都是被观察者Observable.由于rxjava是一种链式编程结构,因此一次map过程,就会增加一次层次机构。下面来看一个简单的例子加以理解。map():事件
CarlosLuo
·
2019-12-21 01:53
关于Dalvik虚拟机
以下文章以Android4.3的源码为基础,来自《
Android源码分析
实录》第5章Android的虚拟机系统是Dalvik虚拟机,是Google等商家合作开发的Android移动设备平台的核心组件之一
胡二囧
·
2019-12-20 12:05
Android源码分析
(ViewStub源码解析)
欢迎关注我的公众号公众号源码基于安卓8.0分析结果ViewStub是一种不可见的并且大小为0的试图,它可以延迟到运行时才填充inflate布局资源,当Viewstub设为可见或者是inflate的时候,就会填充布局资源,这个布局和普通的试图就基本上没有任何区别,比如说,加载网络失败,或者是一个比较消耗性能的功能,需要用户去点击才可以加载!从而这样更加的节约了性能。对安卓布局很友好!ViewStub
豌豆射手_BiuBiu
·
2019-12-19 12:47
android animator
参考属性动画
Android源码分析
—属性动画的工作原理一、view动画TranslateAnimationScaleAnimationRotateAnimationAlphaAnimation建议使用XML
合肥懒皮
·
2019-12-16 06:36
有哪些 Android 大牛的 blog 值得推荐?
罗升阳Luoshengyang@csdn
Android源码分析
邓凡平innost@csdn阿拉神农魏祝林
[email protected]
性能优化开源项目halzhanghalzhanghalzhang
程序亦非猿580230
·
2019-12-12 02:46
Android源码分析
(一)----------behavior
效果演示效果分解动画效果无非的改变View的坐标以及scale。可以简单将效果分解为以下步骤通过监听滑动状态,获取AppBarLayout的缩放比例,改变View(如gif中的ImageView)的scale通过监听滑动状态,获取AppBarLayout的缩放比例,改变View的定位Behavior源码分析Behavior是CoordinatorLayout类的一个静态抽象内部类。在源码的注释中,
C调路过
·
2019-12-08 11:26
腾讯精选面试重点问题:
Android源码分析
--应用程序启动
面试官:什么是应用程序启动应用程序的启动,又可称为根Activity的启动。但是在讲应用程序启动之前,我们有必要对应用程序进程(AppProcess)启动有所了解,那是因为启动一个应用程序首先要保证该应用程序的进程已经被启动。AMS在启动应用程序时,会先检查应用程序进程是否存在,如果不存在就需要请求Zygote进程创建并启动应用程序进程。这里我不会贴上大段大段的代码,只是一些总结,并提供了相关源码
Z_萧晓
·
2019-11-16 00:51
android
面试
源码分析
腾讯精选面试重点问题:
Android源码分析
--应用程序启动
面试官:什么是应用程序启动应用程序的启动,又可称为根Activity的启动。但是在讲应用程序启动之前,我们有必要对应用程序进程(AppProcess)启动有所了解,那是因为启动一个应用程序首先要保证该应用程序的进程已经被启动。AMS在启动应用程序时,会先检查应用程序进程是否存在,如果不存在就需要请求Zygote进程创建并启动应用程序进程。这里我不会贴上大段大段的代码,只是一些总结,并提供了相关源码
Android架构
·
2019-11-14 20:15
Android
Android开发
源码分析
Android Studio打包,jar,arr,apk
一片枫叶_刘超的博客地址:http://blog.csdn.net/qq_23547831作者编写了github项目解析、
android源码分析
以及产品研发多个专题,有兴趣的可以关注下学习学习~1jarvsaar
Ariel_Tian
·
2019-11-03 07:18
Android源码分析
之源码导入AndroidStudio和Eclipse
之前学习Android源码的时候用的sourceinsight,始终感觉类跳转不大精确而且使用久了会有卡顿,就一直想着如何能在Androidstudio或eclipse上查看在所有源码,网上查了很多资料大致有了思路。一、使用AndroidStudio第一步:安装VMware。这个很简单,官网下载安装(我用的云盘:http://pan.baidu.com/s/1gfxen7t)就行(如果慢的话可以在
smartzheng
·
2019-11-02 16:33
React Native通讯原理
之前写过一篇文章ReactNative
Android源码分析
,在此文章的基础上分析和总结下RN与Native的通讯流程。本文基于Android代码分析,iOS实现原理类似。1.
boliangzhao
·
2019-11-01 20:43
国内外知名Android开发者GitHub、Blog
android-dev-leader国内开发者:昵称GitHub博客介绍罗升阳Luoshengyang@csdn
Android源码分析
邓凡平innost@csdn阿拉神农魏祝林android_tutor
门心叼龙
·
2019-10-22 13:47
android
【开发拾遗】
Android源码分析
(十六)----adb shell 命令进行OTA升级
一:进入shell命令界面adbshell二:创建目录/cache/recoverymkdir/cache/recovery如果系统中已有此目录,则会提示已存在。三:修改文件夹权限chmod-R777/cache/recovery四:把ota文件路径写入/cache/recovery/command文件中echo"–update_package=系统ota升级包文件路径">/cache/recov
一莫言一
·
2019-08-27 11:12
Android源码分析
Android源码分析
之广播的发送和接收流程 - 草稿
说明:本文是基于Android6.0源码来分析的概要我的理解是,Android中的广播可以看为一种消息机制,用来在一定的条件下触发一些操纵,比如:网络状态的改变,熄屏,亮屏等等Android系统都是通过广播来通知我们的。广播的既可以在一个进程内通信,也可以跨进程进行通信,所以也是Android中IPC的一种方式。一般我们是在Activity或者service中注册广播的Android中的广播分两种
AN_9c94
·
2019-08-02 10:49
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他