自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (8)
  • 收藏
  • 关注

原创 Android插件化之Activity生命周期处理

Android插件化之Activity生命周期处理一.概述Android里的类比如Activity,service,application等相对于普通的Java类的最大的区别是它们时“活”的,它们具有生命周期。就拿Activity来说吧,它的生命周期是受到系统的严格控制的,具体来说就是通过SystemServer进程里的AMS通过IBinder控制应用进程来进行Activity的生命周期的

2016-08-18 18:07:23 968

原创 Android APK安装过程

Android APK安装过程一.大致过程apk安装过程大致要做三件事1.把apk复制到data/app目录下,并命名为xxx.apk(有时会在后面添加-1或-2)其中xxx是应用的包名。 在高版本的Android中,还会生成对应的.odex文件。 我们知道,apk其实就是一个压缩包,里面包含有classes.dex,androiManifest.xml,res资源文件

2016-08-18 08:49:46 559

原创 Android插件化之资源动态加载

Android插件化之资源动态加载一.概述Android插件化的一个重要问题就是插件资源访问问题,先列出会面对的问题1.如何加载插件资源2.如何处理插件资源与宿主资源的处突:插件化资源问题要做到的效果是,如果我们要获取的资源在插件中找得到,则加载优先加载插件的,如果找不到,则到宿主资源中找。这样能做到动态更新的效果。3.如何确保插件和宿主使用到的是被修改过的资源。

2016-08-17 16:26:36 4405 3

原创 APK启动过程概述

APK启动过程概述一.apk其实是一个Java程序,所有必须从main函数开始执行。而apk应用的main函数所在的类就是ActivityThread,其main函数就是程序的启动点。apk启动后会马上开启一个消息循环,即通过调用Looper的prepareMainLooper(),创建消息队列。然后创建ActivityThread对象,在这里会创建一个Handler对象(H)用于从消

2016-08-10 15:47:56 3323

原创 Android使用ClassLoader加载类

Android使用ClassLoader加载类一.ClassLoader继承关系 BootClassLoader处于双亲委派机制类加载链的顶端,负责虚拟机内部的类的加载。一般应用里(除了我们自定义的类加载器并且不遵守双亲委派机制)的类加载器有两个,一个是系统类加载器,负责加载系统内部的类,如android开头的。另一个类加载器负责加载应用程序的类,一般由我们自己写的。也就是说加载同

2016-08-10 15:37:52 1236

原创 Binder机制简单分析

Binder机制简单分析一.操作系统层面分析在操作系统中,进程与进程之间是相互独立的,他们拥有独立的虚拟内存,独立的资源,每个进程拥有独立的代码段CS,堆栈段SS,数据段DS等,进程间的运行互不影响,统一由系统调度。应用进程运行在用户空间,用户空间的程序的权限是很低的,而内核空间则拥有整个计算机的控制权限,包括操作系统内部权限,对硬件,网络的访问控制权限。而用户空间想访问受限的资源必须通过

2016-08-04 09:09:36 266

原创 Android插件研究系列之DL简析

Android插件研究系列之DL一.概述插件化,简单来说就是在不更新apk的情况下,只从服务器下载插件(一般是打包或处理过的apk),然后增加宿主apk的功能或更新宿主apk的一些功能,资源。DL插件框架的作用是增加宿主apk的功能,如增加新的Activity,service。其核心思想就是代理。该方法不需要安装插件apk。二.宿主apk宿主apk要解决的问题主要有三个

2016-08-01 20:31:16 596

原创 Android系统的启动流程

Android系统的启动过程因为Android是基于Linux的,所有,Android系统的启动过程要先启动Linux,再启动Android 的Framework。一.Android Linux的启动过程:1.Linux的启动总的来说包括3个过程,即执行BootLoader,操作系统内核初始化,执行第一个程序(Home程序) 2.具体流程如下2.1首先是开机,系统上电后执行

2016-07-29 16:18:51 408

原创 Java垃圾回收机制解析

Java垃圾回收机制一.垃圾回收区:       Java运行时内存区有Java堆,方法区,程序计数器,虚拟机栈,本地方法栈这五个地方,其中程序计数器,虚拟机栈和本地方法栈这三个地方随线程而生,随线程而灭,所以不需要考虑垃圾回收,而Java堆和方法区会伴随着整个JVM的生命周期,所以有必要及时清理掉没有的垃圾。 二.垃圾回收算法:(针对Java堆)       1.Java的垃

2016-07-25 12:30:47 254

原创 java内存区分配及主要作用

Java内存区一.概图: 二.Java堆:       1.Java对为线程共有。       2.Java堆是线程共享的内存区域,几乎所有的对象实例和数组都要在堆上分配。说几乎是因为随着JIT编译器的发展和           逃逸分析技术的成熟,有一些对象实例在考虑到速度优化上,会采用栈上分配等。还有,不管是类属性的对象还是局部    对象,都是分配在Java堆的。

2016-07-22 12:59:13 569

原创 Java内存模型

Java内存模型 一.内存模型图 二.概述       1.Java每个线程都保存对共享内存的一个拷贝,即工作内存。线程对共享数据的操作都必须在自己的工作内存中进行,              而不能直接操作共享内存中的数据。       2.Java采用共享内存模型来实现数据的同步三.内存模型的特性       1.原子性:即一个操作不能被打断,必须一次执行完

2016-07-21 08:38:22 273

原创 把多年积累的笔记分享给大家

如题

2016-07-20 15:19:41 288

原创 Java方法(虚拟机角度)原理分析

Java方法一.概述:       1.方法里面的代码是储存在内存中的,按微机知识就是储存在代码段(DS)里。       2.方法是属于对象的,对象是类的实例。所以当一个类被加载时,它的类信息会被储存在方法区里,这里的类信息包括              在类里定义的方法的符号引用,符号引用不是真正方法在内存区的调用入口,要从符号引用得到方法的直接引用才能调    用到方法。而在编译

2016-07-20 15:17:14 501

原创 Java IO分析(包括旧IO和NIO)

IO1.最后操作都会交到Io(Posix)然后通过本地方法来操作读写,会根据FileDescriptor。写2.的基类为OutputStream,读的基类为InputStream3.以Stream结尾的类主要操作byte。以Writer结尾的类主要操作char,char要经过CharsetEncoder编码,然后再转为byte,再交由Stream来传输一.OutputStream:

2016-07-20 15:11:38 1239

原创 Java并发编程Concurrent分析(上)

Concurrent一.Atomic处于Java.util.concurrent.atomic包中,对基本数据类型都有实现,如AtomicInteger,AtomicBoolean等。可以实习对基本数据类型的自增,自减等的原子性操作,不需要额外加锁,而对于平时基本数据类型的如i++,i--等因为不是原子操作,所以的并发情况下不安全。atomic数据即保证了数据的线程安全,又避免了加锁所消耗

2016-07-20 15:01:20 940

原创 Java类加载分析

Java类加载一.类加载生命周期:类加载生命周期包括加载,验证,准备,解析,初始化,使用,卸载。   二.加载:*过程1.获取定义此类的二进制字节流(使用类加载器)2.把类信息存与方法区3.在内存中(可以是Java堆或方法区)生成一个该类的java.lang.Class对象,作为方法区中该类信息的访问入口*要点1.非数组类由类加载器加载2.数

2016-07-20 14:54:05 308

原创 Service分析(上)

Service 一.继承关系:二.启动方式1.service的启动方式1:客户端通过调用Context.startService(Intent i)启动service,对应的停止方式为Context.stopService(Intent i);这种方式启动的service不用与之通信,service一般用于后台计算服务等。2.service的启动方式2:a.

2016-07-20 14:37:30 363

原创 图片下载框架Picasso实现原理解析(上)

Picasso框架解析一.Picasso功能:  图片加载二.Picasso使用:最简单的是Picasso.with(Context).load(Url).into(ImageView),Context是环境(不管是什么Context,在Picasso里都会转  化为application的context),URL则为要下载的图片地址,ImageView是要显示图片的view。

2016-07-20 14:20:20 2644

原创 从源码角度解析Handler

Handler一.概述1.每个Handler都和一个创建它的线程及该线程的MessageQueue关联。2.handler可以用来发送message和Runnable对象到创建handler的线程的MessageQueue里。3.handler发送消息的方法有 post, postAtTime(Runnable, long), postDelayed, sendEmptyMessa

2016-07-20 12:47:39 1194 1

原创 Android进程与线程

进程与线程一.概述当android的一个app的某个组件启动时,而这时候该app的其他组件还没启动,也就是从android系统开机后app第一次启动时。android系统会为该app分配一个Linux进程(process),以及一个主线程(main thread)。如何在改进程的主线程里运行该app及其组件。默认情况下app的组件都是运行在主进程里的。当然,我们可以为app的组件开辟一

2016-07-20 12:45:04 352

原创 android自定义View原理分析

自定义view一.View的MeasureSpec1.MeasureSpec包SpecMode和SpecSize。其中SpecMode包括UNSPECIFIED:父容器不对该view做限制,要多大给多大,一般用于系统内部EXACTLY:父容器已经得到该view的确切大小,对应于match_parent和给出确定大小值。AT_MOST:父容器给出该view可能的最大尺寸,对应于w

2016-07-20 12:29:55 1432

原创 android事件分发机制解析(配流程图)

事件分发机制一.点击事件传播路径1.点击事件TouchEvent最先是到达Activity的,然后传给Activity对应的window,再传给DecorView,再传给id为content的ViewGroup,即我们通过setContentView设置的ViewGroup,以此到最后的view。我们编程所能控制的由Activity,ViewGroup和View。2.要把点击事

2016-07-20 11:29:29 1354 1

原创 Activity分析(上)

一.Activity继承关系  二.activity有四个基本状态:       1.activeor running:当activity处在屏幕最上方(栈顶)时。       2.paused:当一个activity失去焦点,但仍然可见时,这种情况如有一个非全屏的透明的activity在这个activity之上,这       时候这个activity就处于paused状

2016-07-20 11:13:13 414

原创 Android内存篇

Android内存篇一.内存分析工具MAT的使用       1.在DDMS里选中所要分析的进程。       2.先点几下Case GC进行一下内存回收,这样可以使内存中有泄漏的可以凸显出来             3.点击dump HPRROF File按钮,把该进程的内存分析文件储存起来       4.在DOS里进入sdk的platform-tools使

2016-07-20 10:53:30 408

Android滑动处突

Android滑动处突

2016-07-28

Android经典案例集合

多年积累的Android经典案例集合

2016-07-28

Android插件化demo

Android插件化demo

2016-07-21

android短信操作实例代码

android短信操作实例代码

2016-07-18

Android ListView实例代码

Android ListView实例代码

2016-07-18

Android数据库操作实例代码

Android数据库操作实例代码

2016-07-18

java 内存模型

关于Java内存区的结果,是学习Java进阶不可不知的知识点

2016-06-24

android示例代码

android开发常用控件demo

2016-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除