- Android 源码学习地址
清风徐来辽
Android源码学习android学习
源码学习地址线上源码类搜索线上源码查看Android源码学习官方源代码下载镜像线上源码类搜索https://cs.android.com/https://github.com/aosp-mirror线上源码查看http://androidxref.com/http://aospxref.com/https://www.androidos.net.cn/sourcecodeAndroid源码学习ht
- 肝疼了3万字的Android源码学习指南
Kepler_II
深入学习Android源码,知其然而知其所以然。计划整理一系列源码分析文章。一、准备Java/C/C++基础,JavaFramework和C++Framework,一部分Lib则采用C。Linux相关知识,Android是基于Linux内核。Makefile知识,Android采用make编译,可以看到有很多Android.mk类似的文件。Sourceinsight,源码阅读工具神器。StarUM
- Android源码学习,遇到的错误集合。
五百斤,勿扰
Android.mk安卓源码android
Android.mk文件的学习ninja:error:unknowntarget'MODULES-IN-packages-apps-myhellos'解决办法:我的Android.mk文件中的最后,$(BUILD_PACKAGES),…不是PACKAGES,而是PACKAGE!!!想骂自己了。ninja:error:'packages/apps/**app/app/src/*****',neede
- android源码学习-Toast实现原理讲解
失落夏天
#安卓-源码分析安卓androidandroidstudiojava
前言:前些日志QQ群有朋友发了一个Toast的崩溃日志。Toast如此简单的用法怎么会崩溃呢?所以顺便就学习了一下Toast在源码中的实现,不算复杂,但内容挺多的,这里就来分享一下,方便读者。一.基本使用方式主要有两种实现方式:1.最基本的使用方式:使用方式很简单,直接沟通过静态方法构传入context,显示内容以及显示时长三个参数,构造Toast对象,然后通过show显示。Toasttoast=
- android源码学习- APP启动流程(android12源码)
失落夏天
安卓-源码分析学习
前言:百度一搜能找到很多讲APP启动流程的,但是往往要么就是太老旧(还是基于android6去分析的),要么就是不全(往往只讲了整个流程的一小部分)。所以我结合网上现有的文章,以及源码的阅读和调试,耗费了3整天的时间,力求写出一篇最完整,最详细,最通俗易懂的文章,来讲清楚在android上,APP是如何启动的。该文属于安卓源码探究专栏中的文章,专栏中很多类似源码分析的文章,欢迎大家阅读。链接如下:
- Compose原理-compose中是如何实现事件分发的
失落夏天
android
前言:安卓原生View的事件分发流程,我们另外一篇文章中有讲到。android源码学习-事件分发处理机制_失落夏天的博客-CSDN博客在compose学习中,就不禁想到,compose的事件分发应该是怎样的呢?我感觉应该和原生是有区别的,毕竟底层的渲染机制都不一样。安卓原生是View->ViewGroup->ViewGroup层层嵌套的结构,而compose中,只有AndroidComposeVi
- android源码学习-android异常处理机制
失落夏天
安卓-源码分析学习
前言:我们都知道,安卓中如果有未处理的异常,会导致崩溃并且退出应用。而如果你有一些java开发经验的话,你也许会知道,java中如果有未处理的异常,只会中断当前的线程,应用进程本身并不会退出。这是为何?安卓不也是基于java去开发的吗?我们就带着这个疑问,去学习了解安卓中的异常处理机制,从而解答这个问题。备注:本文的异常仅指java层的,native层的另外篇章讲解。一.java中如何处理未捕获的
- android源码学习-View如何显示到屏幕上
失落夏天
安卓源码探究
开始流程介绍之前,我们先明确几个概念:1.DecorView:最顶层的View,继承自ViewGroup。2.ViewRootImpl:最顶层的ViewParent,并且是整个View绘制流程的控制者。View和屏幕的关联,以及绘制流程都由该类控制。3.PhoneWindow:用来装载DecorView,我们activity中setConentView方法最终都会交给PhoneWindow的set
- android源码学习-activity启动流程(android8.0源码)
失落夏天
安卓源码探究
整理下,这样写还是不太好的。先总体分为几个流程,activity,Instrumentation,ActivityManagerService,ActivityStarter,ActivityThread这几大部分。其中activity,Instrumentation,ActivityThread属于用户进程,其余的属于系统进程。一Activity中的启动在activity中,无论何种方式调用st
- android源码学习-事件分发处理机制
失落夏天
安卓源码探究
首先来一张图镇楼,说明一下方法的依次调用顺序:这张图囊括了,从native回调java,一直到ViewGroup处理的所有方法堆栈调用。我把事件分发分为4个部分:第一部分:InputEventReceiver1、当用户点击了屏幕上的某个位置之后,native层会接收到。会通过方法回调通知java层这个点击事件。方法位于InputEventReceiver类中的dispathInputEvent方法
- android源码学习-View绘制流程
失落夏天
安卓源码探究
我们的起点设置为View.setVisibility();1、View.setVisibility(View.VISIBLE);2、View.setFlags(visibility,VISIBILITY_MASK);3、判断flag是否有变化,有变化并且不为GONE状态的话,则请求requestLayout()方法if((changed&GONE)!=0){needGlobalAttributes
- android源码学习-目录
失落夏天
安卓源码探究android学习androidstudio
前言:这是2016年规划的目标和文章,当时想把安卓的几大系统的源码全部看完,但是由于人的天性懒惰,虽然一直在进行,但进度却比较缓慢。先列个清单吧,有链接的就是已经完成的,没有链接的就是未来打算完成的。源码讲解清单:1.android源码学习-事件分发处理机制2.android源码学习-View绘制流程3.android源码学习-activity启动流程4.android源码学习-Handler机制
- android源码学习-Handler机制及其六个核心点
失落夏天
安卓源码探究android学习java
前言:该文属于安卓源码探究专栏中的文章,专栏所有文章清单链接如下,欢迎大家阅读。安卓源码探究https://blog.csdn.net/rzleilei/category_6506586.html?spm=1001.2014.3001.5482一、Handler机制介绍1.1Handler是什么?Handler是安卓中很常用的一种机制,其主要用于线程之间的通信。1.2为什么要了解Handler原理
- Android源码学习-EventBus源码浅析
m1Ku
介绍EventBus是一种用于Android的发布/订阅事件总线。在我们开发中经常将其应用于Activity之间,Fragment之间的通讯传值等。它能达到简化组件间的通信,以及解耦事件的发送者和接受者的作用。EventBus使用十分简单,在需要发送数据的地方调用post方法,并将数据对象传入EventBus.getDefault(this).post("test");在我们期望接受到数据的地方,
- Android源码学习笔记
whale343
Android系统架构与系统源码目录http://blog.csdn.net/itachi85/article/details/54695046一篇文章看明白Android系统启动时都干了什么https://blog.csdn.net/freekiteyu/article/details/79175010
- Android系统架构
覆水无言
android源码学习目录先上图android系统架构图.png这是google官方给的Android系统架构图,共分五层应用层applications应用框架层frameworks系统运行库层--naticec/c++libraries/androidruntime硬件抽象层--hardwareabstractionlayerLinux内核层--linuxkernel五层内容的关系android
- android init进程--init.rc解析过程与执行
覆水无言
android源码学习目录androidinit进程AndroidInitLanguage1.init.rc的解析从文章androidinit进程可以看出,init.rc的解析是从init进程main函数中进行的。//android8.0//init进程main函数解析init.rc代码。//Parserinit.rc文件的解析入口/system/core/init/init_parse.cppP
- Android进阶常用网站
karlsu
持续更新...一.Android源码学习网站grepcodeGitrepositoriesonandroidandroidxrefsource.android.tech二.网络请求库okhttp文档地址retrofit文档地址Volley文档地址二.图片加载库frescopicassoglideAndroid-Universal-Image-Loader三.Google官方AndroidStudi
- Android系统的启动过程
覆水无言
android源码学习目录Android系统的启动主要分为7个阶段,每个阶段都会做大量的工作,本文只简单介绍一个整个过程,后续文章会对过程中的几个主要内容进行相许分析。过程启动电源电源启动是所有系统启动的根本,当电源键按下时,就是引导芯片代码从预定义的地方开始执行,这个预定义的地方是固话在ROM里面的,会加载bootLoader到RAM,这也是绝大多数系统启动的第一步。引导程序BootLoader
- Android init进程--属性服务器
覆水无言
android源码学习目录背景对于系统或者应用程序来说,系统或应用会将自己的一些属性存储到注册表或者硬盘的文件上,这样系统或者应用在重启时会读取属性进行系统初始化,这样系统或者应用就会按照我们希望的方式来运行,而不是每次启动都完全从未运行过的状态。介绍--Android属性服务器从上文中知道了系统属性的重要,Android也提供了类似这样一种机制,我们称之为属性服务器(propertyserver
- Android init进程
覆水无言
android源码学习目录目录androidinit进程init进程--属性服务器init进程--init.rc解析与zynote进程启动介绍Androidinit进程是Android系统中用户空间的第一个进程,他有极多工作,例如启动属性服务器和启动Zygote进程,init进程由多个源码组成,位于system/core/init文件夹中。一:Init进程启动前的准备Android系统启动过程:介
- Android Init Language(安卓初始化语言)
覆水无言
android源码学习目录了解Androidinit进程的都知道,启动init进程之前会解析init.rc文件,init.rc是Android的配置文件脚本,它由一种被称为"Android初始化语言"--AndroidinitLanguage编写。1.androidinitlanguage(简称AIL)组成动作--(Actions)命令--(Commands)服务--(Services)选项--(
- Android源码学习系列--Parcelable
iteye_3110
移动开发
实现了该接口的类可以被写入保存在Parcel中。如果实现该接口需要有一个实现了ParcelCreator接口的静态字段CREATOR一个典型的实现如下:publicclassMyParcelableimplementsParcelable{privateintmData;publicintdescribeContents(){return0;}publicvoidwriteToParcel(Par
- android源码学习:ActivityManager类全理解
Dash_Yagi
androidAPI学习android
android.app下有个ActivityManager类,该类的作用官方的解释是:这个类提供有关、交互、activities,services和包含process的信息。这个类中的许多方法都是为了调试或信息的目的,它们不应该被用来影响应用程序的运行时行为,这些方法在方法级文档中被调用。大多数应用程序开发人员不应该使用这个类,大多数的方法都是专门用例的。然而,一些方法更广泛地适用。例如,isLo
- Zygote进程自身的启动
覆水无言
android源码学习目录背景从上文中我们知道Zygote进程是怎样启动的,这里分析AndroidZygote进程main函数都做了什么工作。1.启动入口publicstaticvoidmain(Stringargv[]){.....//创建一个server端的socket,name为zynotezygoteServer.registerServerSocket(socketName);//Ins
- 启动launcher进程的过程
覆水无言
android源码学习目录介绍了解launcher的都知道他是Android系统启动的第一应用,也就是我们通常说的手机主界面,它也是异常普通的Androidapp.1.SystemServer对launcher的启动上文已经介绍过SystemServer对Android系统的各个服务进行了启动,当全部服务启动完成后,会进行launcher的启动,这样才能让用户见到手机的界面。//systemSer
- zygote进程及init进程对zygote进程的启动
覆水无言
android源码学习目录1.介绍zygote进程是一个孵化器,zygote进程启动时会创建Android中ART虚拟机。SystemServer进程,应用程序进程以及运行系统的关键服务进程都是通过fock(复制进程)zygote自身来完成的,所以我们也叫它孵化器进程,因为systemserver等进程是通过fockzygote来完成的,所以zygote中的ART虚拟机也会带入到SystemSer
- Zygote进程对SystemServer进程的启动
覆水无言
android源码学习目录介绍什么是SystemServer,简单来说SystemServer就是Android系统启动各种Service的入口,同时也对各个service进行了管理,其中包括AMS,PMS,WMS.SystemServer是怎么启动的上文我们知道,zygote孵化器进程在他的main函数中调用startSystemServer函数启动了SystemServer进程,通过对zygo
- 源码学习总结《1》Android 系统启动流程
WangRain1
Androidframework源码
对于NDK开发学习已经完结,并且成功的做出相应的案例,银行卡/身份证卡号识别,现在呢,伟大的学习路程又要开始了,接下来就是要学习系统源码framework相关的知识。(只做个人学习总结,学过就留点痕迹~~,不做长篇大论,谢谢^_^)对于android源码学习,最开始肯定要了解以下android系统是怎么启动的,这是对android系统启动流程学习的个人总结,第一次学习源码还是要有个辅助比如:源码系
- Android源码学习目录
覆水无言
Android系统架构Android源码目录Android系统的启动过程Androidinit进程4.1androidinit进程--属性服务器4.2AndroidInitLanguage(安卓初始化语言)4.2androidinit进程--init.rc解析过程与执行zygote进程及init进程对zygote进程的启动5.1zygote进程自身的启动zygote进程对SystemServer的
- jdk tomcat 环境变量配置
Array_06
javajdktomcat
Win7 下如何配置java环境变量
1。准备jdk包,win7系统,tomcat安装包(均上网下载即可)
2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。)
3。分别配置高级环境变量。
电脑-->右击属性-->高级环境变量-->环境变量。
分别配置 :
path
&nbs
- Spring调SDK包报java.lang.NoSuchFieldError错误
bijian1013
javaspring
在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l
- LeetCode[位运算] - #136 数组中的单一数
Cwind
java题解位运算LeetCodeAlgorithm
原题链接:#136 Single Number
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进
- qq登陆界面开发
15700786134
qq
今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下:
public class First { public void initul(){ jf=ne
- Linux的程序包管理器RPM
被触发
linux
在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的
- socket通信遇到EOFException
肆无忌惮_
EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:
- 基于spring的web项目定时操作
知了ing
javaWeb
废话不多说,直接上代码,很简单 配置一下项目启动就行
1,web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="h
- 树形结构的数据库表Schema设计
矮蛋蛋
schema
原文地址:
http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488
程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,
- maven将jar包和源码一起打包到本地仓库
alleni123
maven
http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository
<project>
...
<build>
<plugins>
<plugin>
<groupI
- java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!
百合不是茶
类 File
File是指文件和目录路径名的抽象表示形式。
1,何为文件:
标准文件(txt doc mp3...)
目录文件(文件夹)
虚拟内存文件
2,File类中有可以创建文件的 createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都
- Spring注入有继承关系的类(2)
bijian1013
javaspring
被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类
package com.bijian.spring.test4;
public class AClass {
private String a;
private String b;
public String getA() {
retu
- 30岁转型期你能否成为成功人士
bijian1013
成长励志
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
- 【Velocity四】Velocity与Java互操作
bit1129
velocity
Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础,
POJO
package com.tom.servlets;
public
- 【Hive十一】Hive数据倾斜优化
bit1129
hive
什么是Hive数据倾斜问题
操作:join,group by,count distinct
现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。
原因:key分布不均匀
倾斜度衡量:平均记录数超过50w且
- 在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua csrf
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
- java-3.求子数组的最大和
bylijinnan
java
package beautyOfCoding;
public class MaxSubArraySum {
/**
* 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4,
- Netty源码学习-FileRegion
bylijinnan
javanetty
今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java
可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder:
//pipeline(没有诸如“FileRegionEncoder”的handler):
public ChannelPipeline ge
- 使用ZeroClipboard解决跨浏览器复制到剪贴板的问题
cngolon
跨浏览器复制到粘贴板Zero Clipboard
Zero Clipboard的实现原理
Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。
Zero Clipboard的安装方法
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js
- 单例模式
cuishikuan
单例模式
第一种(懒汉,线程不安全):
public class Singleton { 2 private static Singleton instance; 3 pri
- spring+websocket的使用
dalan_123
一、spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or
- 细节问题:ZEROFILL的用法范围。
dcj3sjt126com
mysql
1、zerofill把月份中的一位数字比如1,2,3等加前导0
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL, -> day
- Android开发10——Activity的跳转与传值
dcj3sjt126com
Android开发
Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。
一、Activity跳转
方法一Intent intent = new Intent(A.this, B.class); startActivity(intent)
方法二Intent intent = new Intent();intent.setCla
- jdbc 得到表结构、主键
eksliang
jdbc 得到表结构、主键
转自博客:http://blog.csdn.net/ocean1010/article/details/7266042
假设有个con DatabaseMetaData dbmd = con.getMetaData(); rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null); rs.getSt
- Android 应用程序开关GPS
gqdy365
android
要在应用程序中操作GPS开关需要权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办?
1、方法一:将项目放到Android源码中编译;
2、方法二:网上有人说cl
- Windows上调试MapReduce
zhiquanliu
mapreduce
1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b
- 如何看待一些知名博客推广软文的行为?
justjavac
博客
本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621
互联网上的两种典型心态:
当初求种像条狗,如今撸完嫌人丑
当初搜贴像条犬,如今读完嫌人软
你为啥感觉不舒服呢?
难道非得要作者把自己的劳动成果免费给你用,你才舒服?
就如同 Google 关闭了 Gooled Reader,那是
- sql优化总结
macroli
sql
为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢!
要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。
一、简单的统计语句执行时间
declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id
- Linux Oracle中常遇到的一些问题及命令总结
超声波
oraclelinux
1.linux更改主机名
(1)#hostname oracledb 临时修改主机名
(2) vi /etc/sysconfig/network 修改hostname
(3) vi /etc/hosts 修改IP对应的主机名
2.linux重启oracle实例及监听的各种方法
(注意操作的顺序应该是先监听,后数据库实例)
&nbs
- hive函数大全及使用示例
superlxw1234
hadoophive函数
具体说明及示例参 见附件文档。
文档目录:
目录
一、关系运算: 4
1. 等值比较: = 4
2. 不等值比较: <> 4
3. 小于比较: < 4
4. 小于等于比较: <= 4
5. 大于比较: > 5
6. 大于等于比较: >= 5
7. 空值判断: IS NULL 5
- Spring 4.2新特性-使用@Order调整配置类加载顺序
wiselyman
spring 4
4.1 @Order
Spring 4.2 利用@Order控制配置类的加载顺序
4.2 演示
两个演示bean
package com.wisely.spring4_2.order;
public class Demo1Service {
}
package com.wisely.spring4_2.order;
public class