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源码学习
一(此文集为本人根据csdn大神博客的学习随笔,仅供自己记忆,不喜勿喷)
大神上面这张图是我们平时用Androidstudio开发安卓app点运行后会在app-build-outputs-apk目录下生成apk文件的构建过程,下面具体分析一下1.aapt(Androidassentpackagingtool)aapt工具会打包应用中的资源文件,如清单文件和layout中的布局文件,并将其编译成二进制文件,当然,但是assent文件夹下的资源会保持不变,图片和res/ra
hahaJava
·
2020-07-29 00:38
带你揭秘神秘的ThreadLocal
大家应该有种很熟悉的感觉,但是又好像不知道是干啥用的,第一次接触它还是在Looper的源码中,每次获取Looper对象是,通过ThreadLocal的get方法获取到当前线程的Looper对象,有兴趣的可以看看之前的文章
Android
weixin_33725239
·
2020-07-27 13:49
【
Android源码学习
】关于@hide
在阅读SDK源码的时候经常看到@hide隐藏的方法,我们只能通过反射来调用它,但是一直不太清楚SDK是怎么做到的,是通过权限控制吗?Android@hide详解看了这篇文章,才知道跟我理解的不一样,它没有权限控制那么复杂。简单来说编程工具(AndroidStudio等)是引用SDK中的android.jar,这个包里没有hide和internal相关的类、属性和方法的,它是个删减版。当app开发完
易明雨
·
2020-07-16 03:07
Android源码
【
Android源码学习
】View的layout和draw流程
关于View的layout和draw流程,各路大神们的博客都讲解的很清晰,View绘制流程,本文仅写出自己的理解和总结,方便加强印象。一、layoutmeasure是通过父布局推荐的大小确定各个子View最终的大小,同样,layout通过父布局推荐的位置确定各个子View最终的位置。它的入口是ViewRootImpl的performLayout,ViewGroup.layout(DecorView
易明雨
·
2020-07-16 03:36
Android源码
Android源码学习
作为一名程序员,肯定不仅仅限于使用API文档,因为浮于表面是远远不够的。进阶学习的阶段,需要我们保持一颗好奇的心,深入阅读Android源码,学习优秀的代码风格和设计思想,知其然并且知其所以然。引用Google的一张框架图:Applications层,和用户直接交互的就是这些应用程序,它们都是用Java开发的。JavaFramework层,这一层大部分用Java语言编写。它是Android平台上J
火山石
·
2020-07-09 05:31
Android
Android源码学习
——linker(4)
本文学习的源码参考AndroidXRef,版本为Lollipop5.1.0_r1。前面讲完了so的加载,这一章来讲so的链接过程。so的链接是实际上就是完成符号的重定位。分别看下PrelinkImage和LinkImage的实现。首先是PrelinkImage,这个函数很长,我们一段段来看:boolsoinfo::PrelinkImage(){/*Extractdynamicsection*/El
喵吉诃德
·
2020-07-08 18:25
android源码学习
Linphone-
Android源码学习
(一)
首先看程序的入口:在AndroidManifest.xml文件中,可以看到LinhoneLauncherActivity.java是整个app的入口类
floydzhang1984
·
2020-07-08 07:20
Android
SystemServer进程--main函数的执行
android源码学习
目录1.main函数直接上代码publicstaticvoidmain(String[]args){newSystemServer().run();//main函数直接创建类并运行
覆水无言
·
2020-07-06 19:15
Android平台架构介绍和源码下载
本篇文章为
Android源码学习
的第一章,主要讲述Android平台架构的分层,以及如何下载Android源码。
codeteenager
·
2020-06-26 00:57
Android源码学习
-OkHttp源码浅析
介绍OkHttp是一个用于Android和Java应用程序的HTTP客户端。相关参数和配置都是用Builder模式构建,简单使用如下。OkHttpClienthttpClient=newOkHttpClient.Builder().build();Requestrequest=newRequest.Builder().get().url("http://www.baidu.com").build(
m1Ku
·
2020-04-03 18:07
Android源码学习
笔记2-IntentService源码的学习
为什么要使用IntentService:IntentServiceisabaseclassfor{@linkService}sthathandleasynchronous*requests(expressedas{@linkIntent}s)ondemand.Clientssendrequests*through{@linkandroid.content.Context#startService(
NKming
·
2020-03-24 17:40
Android源码学习
--AsyncTask
AsyncTask官方介绍与说明Android主线程中无法执行耗时操作,这要求开发者在自定义的工作线程中完成耗时操作,再通过Handler进行线程间的交互,达到不阻塞主线程同时又完成操作的目的。Android官方提供了AsyncTask异步处理任务类,来良好的解决了复杂的多线程处理交互问题,同时还有IntentService,HandlerThread都是很好的解决方案。AsyncTask通过线程
jiaming_
·
2020-03-09 00:58
Android源码学习
-Retrofit源码浅析
介绍Retrofit是一个用于Android和Java的类型安全的网络请求封装,之所以说是封装,是因为它只是对OkHttp网络请求框架的封装。Retrofit将网络请求API转化成Java接口的形式,即每个网络请求对应Java接口中的各个方法。它使用动态代理的方式生成该接口的代理对象,然后调用代理对象的方法得到Call对象,最后调用execute完成同步请求或者enqueue完成异步请求。简单使用
m1Ku
·
2020-02-11 03:08
Android源码学习
--Android Handler 消息机制
Handler在开发中使用的非常平凡,它基于一种队列消息机制,循环处理消息或者开发者的代码任务,实现不同线程之间的通信,下面结合源码学习其如何实现。主线程如何建立Handler消息机制当我们点击launch的app图标时,系统会做什么,系统肯定会首先创建一个进程,为该app独有,接着,肯定是主线程了,也就是平常经常说的UI线程,不能执行耗时操作...,根据java的特性,肯定会执行一个类的main
jiaming_
·
2019-12-23 07:18
android开发的网站以及资源
学习网站有:1.开发者头条2.码农周刊3.weekly4.javatrain5.java培训6.android_guides7.Android开发技术周报8.码农周刊整理9.
android源码学习
10.
木木00
·
2019-12-17 21:39
Android源码学习
笔记1-Messenger源码的学习
首先先分析服务端:服务端必有:publicIBinderonBind(Intentintent){returnmessenger.getBinder();}则得到getBinder()这个方法:publicIBindergetBinder(){returnmTarget.asBinder();}由此得到mTarget这个变量,分析这个target类:privatefinalIMessengermT
NKming
·
2019-11-02 20:27
Android源码学习
-ContentProvider工作流程浅析(Android8.0)
介绍ContentProvider作为四大组件之一,它可以为其他组件或者其他应用提供数据。它会在进程启动时同时启动并发布到AMS中,现在通过源码来学习了解相关流程。//BookProvider继承自ContentProviderUriuri=Uri.parse("content://com.m1ku.testproject.provider.BookProvider");getContentRes
m1Ku
·
2019-08-13 11:06
Android源码学习
-Activity启动流程浅析(Android8.0)
介绍本文主要是跟踪Activity的启动流程,旨在了解Activity启动的整体过程,不求甚解。基于Android8.0。源码分析在应用内调用startActivity启动Activity@OverridepublicvoidstartActivity(Intentintent){this.startActivity(intent,null);}@OverridepublicvoidstartAc
m1Ku
·
2019-08-12 14:19
Android源码学习
-AsyncTask源码浅析
介绍AsyncTask是一种轻量级的异步任务类,它可以在线程池执行后台任务,然后把执行的进度和结果传递给主线程并在主线程中更新UI。AsyncTask是一个抽象类,三个泛型分别定义了任务的参数、执行进度以及结果的类型,他们都可以为空,为空时类型指定为Void。由于AsyncTask是抽象,需要继承它并复写5个方法来使用。publicclassDownLoadAsyncTaskextendsAsyn
m1Ku
·
2019-08-09 17:42
Android源码学习
-Handler源码浅析
介绍Handler主要用于异步消息的处理。比如在安卓中我们可以通过Handler将消息从子线程发送到主线程中来更新UI。如下便是handler在子线程中延迟2s发送一个消息,然后再发送一个没有延迟的消息,接收这些消息的handleMessage方法运行在主线程中,在收到消息后就可以更新界面了,界面上就会依次显示"这是message2哦","这是message1哦"。finalHandlerhand
m1Ku
·
2019-08-09 14:49
Android源码学习
-Glide源码浅析
介绍Glide是一个图片加载框架,它为我们封装了一系列链式调用的方法,方便我们指定加载的上下文Context、图片的来源,配置图片加载的占位符、图片缩放方式,以及内存磁盘缓存策略等的配置。简单使用如下。Glide.with(this).load(url).into(ivGlide);源码分析基于Glide4.9.01with方法:实例化RequestManager对象并且绑定Activity生命周
m1Ku
·
2019-08-08 17:45
android源码学习
之源码编译并nexus s真机刷机
一、使用原厂镜像对nexuss刷机1.下载原厂镜象文件 https://developers.google.com/android/nexus/images#soju在打开的页面中选择FactoryImages"soju"forNexusS下面的三个镜象,这里选择4.0.4(IMM76D),下载好是soju-imm76d-factory-ca4ae9ee.tgz,解压,并把fastboot.zip
·
2015-11-05 09:00
android
nexus
刷机
原生代码
Android源码学习
之ListView的复用回收机制剖析.
本博客参考了地址:点击打开链接在刚开始接触学习Android基础的时候,ListView算是一个比较神奇的控件了,因为那时候好多效果都可以用它实现,而且用它就得用到一个设计模式,[适配器].结果昨天遗留下来一个bug,带这个解决这个Bug去翻看了5.0.1API22的ListView部分源码分析复用.复用到底有什么用.?简单的举个例子,假如你想要展示一万条item,作为手机不可能一下将一万条同时加
u010316858
·
2015-08-13 15:00
Android源码学习
之如何使用eclipse+NDK
网上已经有太多的有关如何配置eclipse+NDK了,本人就不再重复这些了,只是想记录下自己开始写第一个NDK程序的整个流程(保证可执行),共自己和大家分享。首先安装一个能够支持Native代码的eclipse插件Sequoyah,然后在eclipse中的“窗口-首选项-Android”中多出来了一个“本机开发”选项,在“NDKLocation”选择你的android-ndk的路径。有了Sequo
educast
·
2013-10-16 21:00
android开发资源合集
《android高级应用开发》国内第一套系统全面深入基于
Android源码学习
Android的应用开发,Framewrok开发。
cclingg
·
2013-09-16 10:00
Android源码学习
之如何使用eclipse+NDK【三】
AndroidNDK开发技巧二 1.在JNI中打印Logcat,首先我们需要在cpp文件中加入#include这个头文件,NDK有关android自己的就给我们这个唯一的文件log.h,其他的需要我们自己hackdiy来解决。jstringjlog; //从Java传来需要打印的字符jbooleanisCopy;constchar*szLog=(*env)->GetStringUTFChars(
ldghd
·
2013-08-01 18:00
Android源码学习
之如何使用eclipse+NDK【二】
windows下eclipse集成cygwin编译android_NDK http://www.docin.com/p-88450636.html一、前言Google Android发布了NDK,引起了很多发人员的兴趣。NDK全称:Native Development Kit,官方下载地址:http://androidappdocs.appspot.com/sdk/ndk/index.html1
ldghd
·
2013-08-01 18:00
Android源码学习
之如何使用eclipse+NDK【一】
网上已经有太多的有关如何配置eclipse+NDK了,本人就不再重复这些了,只是想记录下自己开始写第一个NDK程序的整个流程(保证可执行),共自己和大家分享。首先安装一个能够支持Native代码的eclipse插件Sequoyah,然后在eclipse中的“窗口-首选项-Android”中多出来了一个“本机开发”选项,在“NDKLocation”选择你的android-ndk的路径。有了Sequo
ldghd
·
2013-08-01 18:00
Android源码学习
之模板方法模式应用
主要内容:模板方法模式定义模板方法模式优势模板方法模式在Android源码中的应用一、模板方法模式定义模板方法模式定义:definestheskeletonofanalgorithminamethod,deferringsomestepstosubclasses.TemplateMethodletssubclassesredefinecertainstepsofanalgorithmwithout
·
2013-01-20 16:00
Android源码
Android源码学习
之设计模式应用小整理
一、
Android源码学习
之装饰模式应用装饰模式定义:Attachadditionalresponsibilitiestoanobjectdynamicallykeepingthesameinterface.Decoatorsprovideaflexiblealternativetosubclassingforextendingfunctionality
·
2013-01-20 14:00
Android源码
Android源码学习
之工厂方法模式应用及优势介绍
工厂方法模式定义:Defineaninterfaceforcreatinganobject,butletsubclassesdecidewhichclasstoinstantiate.FactoryMethodletsaclassdeferinstantiationtosubclasses.定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。常用的工厂方法模
·
2013-01-08 11:27
Android源码学习
之工厂方法模式应用
主要内容:工厂方法模式定义工厂方法模式优势工厂方法模式在Android源码中的应用一、工厂方法模式定义工厂方法模式定义:Defineaninterfaceforcreatinganobject,butletsubclassesdecidewhichclasstoinstantiate.FactoryMethodletsaclassdeferinstantiationtosubclasses.定义一
·
2013-01-08 10:00
Android源码
Android源码学习
之适配器模式应用
主要内容:适配器模式定义适配器模式分类适配器模式优势适配器模式在Android源码中的应用一、适配器模式定义适配器模式定义:Converttheinterfaceofaclassintoanotherinterfaceclientsexpect.Adapterletsclassesworktogetherthatcouldn'totherwisebecauseofincompatileinterf
·
2013-01-06 22:00
Android源码
Android源码学习
之观察者模式应用及优点介绍
观察者模式定义:Defineaone-to-manydependencybetweenobjectssothatwhenoneobjectchangesstate,allitsdependentsaernotifiedandupdatedautomatically.定义对象间一种一对多的依赖关系,使得当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。如上图所示(截取自《HeadFi
·
2013-01-06 12:01
Android源码学习
之组合模式定义及应用
组合模式定义:Composeobjectsintotreestructurestorepresentpart-wholehierarchies.Compositeletsclientstreatindividualobjectsandcompositionsofobjectsuniformly.将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。如上图
·
2013-01-06 12:41
Android源码学习
之组合模式应用
主要内容:组合模式定义组合模式优势组合模式在Android源码中的应用Android基本控件继承关系图一、组合模式定义组合模式定义:Composeobjectsintotreestructurestorepresentpart-wholehierarchies.Compositeletsclientstreatindividualobjectsandcompositionsofobjectsuni
·
2013-01-06 10:00
Android源码
Android源码学习
之观察者模式应用
主要内容:观察者模式定义观察者模式优势Android交互事件的设计原理观察者模式在Android源码中的应用一、观察者模式定义观察者模式定义:Defineaone-to-manydependencybetweenobjectssothatwhenoneobjectchangesstate,allitsdependentsaernotifiedandupdatedautomatically.定义对象
·
2013-01-05 12:00
Android源码
Android源码学习
之单例模式应用及优点介绍
单例模式定义:Ensureaclasshasonlyoneinstance,andprovideaglobalpointofaccesstoit.动态确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。如上图所示(截取自《HeadFirstDesignPatterns》一书)。通过使用private的构造函数确保了在一个应用中产生一个实例,并且是自行实例化(在Singleton中自己
·
2013-01-04 15:18
Android源码学习
之单例模式应用
主要内容:单例模式定义单例模式优势单例模式在Android源码中的应用一、单例模式定义单例模式定义:Ensureaclasshasonlyoneinstance,andprovideaglobalpointofaccesstoit.动态确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 如上图所示(截取自《HeadFirstDesignPatterns》一书)。通过使用
·
2013-01-04 10:00
Android源码
Android源码学习
之接着浅析SystemServer
通过
Android源码学习
之浅析SystemServer脉络知道了SystemServer是怎么通过利用JNI,但相继的问题出现了:SystemServer是干嘛用的?
·
2012-12-26 21:00
android
entropyService
Android源码学习
之浅析SystemServer脉络
在之前的博文中《
Android源码学习
之如何创建使用JNI》和《
Android源码学习
之如何使用eclipse+NDK》中,浅谈了如何创建使用JNI和如何利用NDK工具开发创建和lib**.so(
·
2012-12-26 09:00
SystemServer
Android源码学习
之如何使用eclipse+NDK
网上已经有太多的有关如何配置eclipse+NDK了,本人就不再重复这些了,只是想记录下自己开始写第一个NDK程序的整个流程(保证可执行),共自己和大家分享。首先安装一个能够支持Native代码的eclipse插件Sequoyah,然后在eclipse中的“窗口-首选项-Android”中多出来了一个“本机开发”选项,在“NDKLocation”选择你的android-ndk的路径。有了Sequ
·
2012-12-24 17:00
android
jni
NDK
Android源码学习
之如何创建使用JNI
在Android平台下,JNI就是一座Java世界和Native世界之间的桥梁。因此要学好Android的源码,首先就要懂得什么是JNI,如何使用JNI。JNI是JavaNativeInterface的缩写。从Java1.1开始,JavaNativeInterface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C
·
2012-11-30 18:00
Android源码
Android源码学习
之环境搭建(Ubuntu下载Android源码)
已经有一个多月没有看Android的知识了,之前在杭州时就买了邓凡平的《深入理解Android卷I》一直没来得及研究。后来因为公司要求,要为新的项目做准备,做各种业务的KT和技术的training,虽然新技术本身的难度不大,但是业务知识很是复杂,搞的头大,到现在终于有了一些头绪。趁现在有时间来研究下Android的源码。之前没有接触过Linux系统,我的本本现在用的是Windo
tianfeng701
·
2012-08-11 12:00
android
ubuntu
git
脚本
branch
newline
Android源码学习
之三-Activity是如何进行自动化测试的
转自:http://blog.csdn.net/caowenbin/article/details/5870681SDK中为我们提供了非常好的对Activity进行测试的方式,那么Activity的内部机制是如何支持的呢?比如如何在Activity的生命周期变化中加入测试代码?如何监控到Activity的各种变化?如何获得Activity启动的性能参数?如何自动向Activity发送按键消息以进行
liuhanhan512
·
2012-04-20 09:00
android
测试
null
application
token
自荐Android源码分析系列文章
我的博客:http://blog.csdn.net/caowenbin我的新浪微博:http://t.sina.com.cn/wenbin1027
Android源码学习
之一—Activity是如何实现主题变化的
Skypine_Lee
·
2012-04-06 14:00
Android源码学习
之四-ActivityGroup是如何对嵌入的Activitys进行管理的
此前,我们对Activity进行了一些学习,在Android中,还提供了一个ActivityGroup类,该类是Activity的容器,可以包含多个嵌套进来的Activitys,我们接下来依然采用源码分析的方式来了解该类的内部实现。首先,从SDK中和源码中都可以获知,ActivityGroup类的父类是Activity,也就是说二者具有相同的接口和生命周期,同Activity一样,也有onCrea
晨曦之光
·
2012-03-13 18:00
Android源码学习
之六——ActivityManager框架解析
ActivityManager在操作系统中有重要的作用,本文利用操作系统源码,逐步理清ActivityManager的框架,并从静态类结构图和动态序列图两个角度分别进行剖析,从而帮助开发人员加强对系统框架及进程通信机制的理解。ActivityManager的作用参照SDK的说明,可见ActivityManager的功能是与系统中所有运行着的Activity交互提供了接口,主要的接口围绕着运行中的进
晨曦之光
·
2012-03-13 18:00
Android源码学习
之三-Activity是如何进行自动化测试的
SDK中为我们提供了非常好的对Activity进行测试的方式,那么Activity的内部机制是如何支持的呢?比如如何在Activity的生命周期变化中加入测试代码?如何监控到Activity的各种变化?如何获得Activity启动的性能参数?如何自动向Activity发送按键消息以进行测试?带着这些问题,我们要再次深入Activity源码来一探究竟。首先想到的就是,如果要想监控到Activity生
晨曦之光
·
2012-03-13 18:00
Android源码学习
之八—系统启动过程
Android源码数量庞大,虽然对它的学习从未停止,但是整理成这样的文字,实在是费时费力的一件事情,不过好在前文已经对其基本机制加以分析,相信以此为基础,其他的内容学习起来就没那么困难了。今天是2010年的最后一天了,回顾这一年,从手机操作系统的角度来看,我把重点放在了Android上,对WindowsPhone和IPhone没有太深入研究,正好以此做一终结,把对Android源码的学习告一段落。
晨曦之光
·
2012-03-13 18:00
上一页
1
2
3
下一页
按字母分类:
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
其他