- 博客(9)
- 资源 (80)
- 收藏
- 关注
原创 Framework学习(三)SystemServer进程启动过程
SyetemServer进程的启动在上一篇文章Framework学习(二)Zygote进程启动过程中,我们已经知道Zygote进程会启动SyetemServer进程,但具体启动流程还没有涉及,本文我们就来看看SyetemServer进程具体启动过程。首先回顾下ZygoteInit#startSystemServer()函数:frameworks/base/core/java/com/android/
2017-09-30 16:17:29 4692
原创 Framework学习(二)Zygote进程启动过程
android系统进程启动流程android系统的Zygote进程是所有android进程的父进程,包括SystemServer和各种应用进程都是通过Zygote进程fork出来的。Zygote(孵化)进程相当于是android系统的根进程,后面所有的进程都是通过这个进程fork出来的,而Zygote进程则是通过linux系统的init进程启动的,也就是说,android系统中各种进程的启动方式:i
2017-09-30 11:11:08 6454
原创 Framework学习(一)Android 系统架构
Android系统架构Android本质就是在标准的Linux系统上增加了Java虚拟机Dalvik/ART,并在Dalvik/ART虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。应用程序层
2017-09-29 16:59:41 21970 6
原创 Java Class对象与反射机制
Java Class对象RTTIRTTI(Run-Time Type Identification)运行时类型识别,其作用是在运行时识别一个对象的类型和类的信息。这里分两种:传统的”RRTI” — 它假定我们在编译期已知道了所有类型(在没有反射机制创建和使用类对象时,一般都是编译期已确定其类型,如new对象时该类必须已定义好)反射机制 — 它允许我们在运行时发现和使用类型的信息在
2017-09-15 14:58:28 962
原创 Java并发编程(三)Java内存模型及volatile
内存模型相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程则慢得多(不是一个数量级),因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。因此在CPU里面就有了高速缓存。也就是说,当程序在运行过程中,会将运算需要的数据从主内
2017-09-13 14:39:47 830 1
原创 Java并发编程(二)线程同步和等待唤醒机制
概述线程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要原因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。 因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式有个名称叫互斥锁,即能达到互斥访问目的的锁。线程同步synchro
2017-09-12 10:38:56 7310 1
原创 Java并发编程(一)线程创建、生命周期、控制
进程和线程进程是处于运行中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单元。 特征:独立性:进程是系统中独立存在的实体,拥有自己的独立资源,没一个进程拥有自己私有的地址空间。没有经过允许的情况下,一个进程是不可以访问其他进程的地址空间。动态性:进程与程序区别,一个是静态指令集合,一个是正在系统中活动的指令集合,加入了事件的概念。进程具有自己的生命周期和状态,程序没有。
2017-09-08 16:40:51 734
原创 Android App Widget 开发
概述App Widget是应用程序窗口小部件(Widget),是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget Provider来发布一个Widget。Widget布局appwidget-provider标签这个东西是用来定义桌面widget的大小,初始状态等等信息的,它的位置应该放在res/xml文件夹下,具体的xml参数如下:a
2017-09-07 13:43:01 5513
原创 Java 八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 插入排序思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的子序列的合适位置,直到全部插入排序完为止。 关键问题:在前面已经排好序的序列中找到合适的插入位置。 方法:直接插入排序二分插入排序希
2017-09-05 10:00:33 8669 3
Android MediaPlayer和VideoView的使用
2016-11-25
Android Service IPC通信之Messenger机制
2016-10-30
Android-component-application-master.7z
2020-01-26
Android App Widget 开发
2017-09-08
Java 八大排序算法
2017-09-06
ShareSDK第三方登录
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人