anroid系统开发
文章平均质量分 89
Swornf、时年
择一事,终一生
展开
-
android源码下载,编译及编译时遇到的错误整理
一.环境搭建 因为android的源码编译只支持linux和mac,所以无法在windows下编译.我的电脑也没有双系统,因此只有装一个虚拟机。我用的是VMware workstation 我放到了百度云https://pan.baidu.com/s/1jHSrB2A。下载好安装虚拟机时最好多分配点硬盘空间,尽量30G以上,运行内存也分配2G以上。配置好虚拟机以后就要下个系统,推荐是用ub原创 2016-08-31 10:46:40 · 2290 阅读 · 0 评论 -
ActivityManagerService原理分析
一.概述ActivityManagerService是Framework层的核心服务之一,ActivityManagerService是Binder的子类,它的功能主要以下三点:四大组件的统一调度进程管理内存管理二.ActivityManagerService中的重要变量static final int MAX_ACTIVITYS =20;系统允许的最大后台activity的数目stat原创 2017-08-16 22:12:54 · 1264 阅读 · 0 评论 -
使用Windowmanager给界面添加窗口
添加普通窗口btn.setOnClickListener(new View.OnClickListener() { //创建要显示的Viewfinal TextView tv = new TextView(BezierViewActivity.this); tv.setBackgroundColor(Color.WHITE); t原创 2017-07-21 11:01:50 · 1044 阅读 · 0 评论 -
Activity启动过程分析
一.概述对着老罗的博客和源码自己梳理了一遍Activity的启动过程,为了方便记忆就将这个过程整理写了下来,整个启动过程涉及到的类主要有Activity,ActivityManagerService,ActivityStack, PackageManagerService,ActivityThread和ApplicationThread.涉及到的进程一般是有2个,如果是启动另外一个应用的acitiv原创 2017-07-20 16:08:20 · 1237 阅读 · 0 评论 -
Android studio 使用aidl和service进行进程间通信
一.概述 Android的Binder机制可以进行进程间通信,但是Servicemanager这个类不公开,也就是我在自己的应用程序中无法使用Servicemanager的addService将我们自己定义的service注册到binder中去,也无法通过getService获取到对应的Service,那么在我们的应用程序要如何来进行进程间通信呢?利用aidl文件和Service就可以进行通信原创 2017-06-02 18:10:51 · 1194 阅读 · 0 评论 -
viewpager源码分析
viewpager的分析从下面的这个步骤入手:setAdapter-populate-onMeasure-onlayout-onInterceptTouchEvent-onTouchevent-smoothScrolllTo-onpageScrolled. 下面是完整的源码,上面所说的方法都详细的注释了./* * Copyright (C) 2011 The Android Open Sourc原创 2016-10-20 15:59:14 · 5040 阅读 · 0 评论 -
Recycleview之setAdapter源码分析
recycleview作为取代listview的新控件,使用率越来越高了,在这之前我都是简单的使用recycleview没有仔细的研究过它,所以我决定从它的源码入手看看它是如何实现的. recycleview的设计非常的解耦,采用设计模式中的适配器模式来管理数据,采用layoutmanager来管理布局和滑动,采用 ItemAnimator来管理item的动画效果,采用 ItemDecora原创 2016-10-25 15:46:14 · 2899 阅读 · 0 评论 -
Scrollview源码分析
分析Scrollview的源码主要从一下步骤开始,构造函数-onmeasure()-onlayout()-draw()-onInterceptTouchEvent()-onTouchevent().按照这个顺序搞懂这几个方法做了些什么就知道Scrollview是怎么实现的了,下面我将我注释过的Scrollview源码贴上,这个几个方法的功能我都注释好了/* * Copyright (C) 2006原创 2016-10-12 11:31:28 · 1389 阅读 · 0 评论 -
通过源码分析一个linux进程可以运行多个android应用
android是运行在linux系统上的,一个android应用在启动的时候会会创建自己的进程,创建自己的任务栈,下面通过源码来查看系统是依据什么来创建一个应用的进程的. 1.系统首先通过下面的代码来判断进程是否存在,这个段代码位于ActivityStack.startSpecificActivityLocked方法中,这个方法在系统源码的frameworks/base/services/java原创 2016-09-07 20:57:11 · 1226 阅读 · 0 评论 -
Activity的创建,配置上下文,绘制视图过程
概述在Activity启动过程分析一文中分析到了通过反射创建了activity并且调用了activity的onCreate表示activity启动了,但是我们见到的activity一般都是一个界面,所以这篇文章就继续分析了Activity的视图创建过程.这个过程中涉及到的主要类如下: Activity->用户操作的类 Context-> 负责管理actvity的资源等信息 Window-原创 2017-07-25 16:54:46 · 2810 阅读 · 0 评论