
android AMS
文章平均质量分 94
thinkinwm
Do not pray for easy lives. Pray to be stronger men.
展开
-
Android中进程管理
http://blog.youkuaiyun.com/yujun411522/article/details/46682687本文出自:【yujun411522的博客】在android中,进程这个概念被淡化了,我们知道Android的每一个应用都是运行在一个独立的DVM中,他们之间互不影响;应用退出之后,并没有立马杀死进程,进程依然停留在内存中,这么做的目的是为了提高下次启动时的速转载 2016-05-12 15:40:09 · 685 阅读 · 0 评论 -
Activity启动流程分析(基于android 5.1)
http://blog.youkuaiyun.com/turkeycock/article/details/50538971最近由于工作需要,需要深入了解AMS的内部实现。说老实话,虽然已经经过了几轮重构,AMS的代码还是又臭又长。。。万事开头难,先找个入口开始看吧。当从Launcher界面点击启动一个app时,会启动一个新的activity。所以就从startActivity转载 2016-09-08 14:54:20 · 729 阅读 · 0 评论 -
Activity启动过程源码分析
http://blog.youkuaiyun.com/u014486880/article/details/50491406?locationNum=14其实写分析源码文章总会显得很复杂很乏味,但是梳理自己看源码时的一些总结也是一种提高。这篇博客分析下Activity启动过程源码,我会尽量说得简单点。个人的观点是看源码不能看得太细,否则就会花费很多时间并很难理清整个过程。所以本次分析重在理转载 2016-09-08 14:23:57 · 567 阅读 · 0 评论 -
Activity启动过程全解析 <<主要流程说的并不完整,只有一半,有张流程图可以参考
http://dalufan.com/2015/11/24/android-Activity-launch-learn/0x00 前言一个App是怎么启动起来的?App的程序入口到底是哪里?Launcher到底是什么神奇的东西?听说还有个AMS的东西,它是做什么的?Binder是什么?他是如何进行IPC通信的?Activity生命周期到底是什么时候调用的?被谁调用的?等转载 2016-08-24 16:01:12 · 1149 阅读 · 0 评论 -
Android ActivityManagerService(AMS)的启动分析 << 代码讲的比较细致,在了解主要流程后再看这篇
http://blog.youkuaiyun.com/baniel01/article/details/51777580Android中的AMS想必是做android开发的工程师耳熟能详的系统级别的服务,但是它又是如此地庞大(单单ActivityManagerService.java文件就2W+行代码),因此我们在学习它的时候总是不能找到实际的主线,很是混乱。这里我会连续写几篇文章从它转载 2016-08-23 18:02:19 · 463 阅读 · 0 评论 -
Android ActivityThread(主线程或UI线程)简介
http://blog.youkuaiyun.com/myarrow/article/details/142234931. ActivityThread功能 它管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),并根据AMS的要求(通过IApplicationThread接口,AMS为Client、ActivityThread.ApplicationT转载 2016-08-24 14:23:10 · 575 阅读 · 0 评论 -
Android Service演义(android 5.1)
http://my.oschina.net/youranhongcha/blog/710046#navbar-header1.概述在Android平台上,那种持续性工作一般都是由service来执行的。不少初学者总是搞不清service和线程、进程之间的关系,这当然会影响到他们开展具体的开发工作。其实,简单说起来,service和线程、进程是没什么关系的。我们知道,转载 2016-09-01 14:17:22 · 843 阅读 · 0 评论 -
说说Android应用的persistent属性
http://my.oschina.net/youranhongcha/blog/269591#navbar-header1 启动persistent应用 在Android系统中,有一种永久性应用。它们对应的AndroidManifest.xml文件里,会将persistent属性设为true,比如:<application android:name="Phone转载 2016-09-01 13:40:59 · 1091 阅读 · 0 评论 -
对FLAG_ACTIVITY_FORWARD_RESULT的处理
http://blog.youkuaiyun.com/windskier/article/details/7096521startActivityLocked()方法在创建ActivityRecord前,还做了如下几不操作: 1. 确定sourceRecord和resultRecord,这两个变量均为ActivityRecord类型,前者代表请求启动当前activity的转载 2016-08-22 17:04:40 · 2463 阅读 · 0 评论 -
Broadcast内部机制讲解 << 推荐
http://my.oschina.net/youranhongcha我们在编写Android程序时,常常会用到广播(Broadcast)机制。从易用性的角度来说,使用广播是非常简单的。不过,这个不是本文关心的重点,我们希望探索得再深入一点儿。我想,许多人也不想仅仅停留在使用广播的阶段,而是希望了解一些广播机制的内部机理。如果是这样的话,请容我斟一杯红茶,慢慢道来。转载 2016-08-30 17:29:13 · 525 阅读 · 0 评论 -
Android系统中的广播(Broadcast)Part1
http://blog.youkuaiyun.com/luoshengyang/article/details/6730748 在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制;这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用;本文通过一个简单的例子来学习Android系统的广播机制,为后续分析广播机制转载 2015-01-31 22:00:48 · 736 阅读 · 0 评论 -
Android应用程序注册广播接收器(registerReceiver)的过程分析
http://blog.youkuaiyun.com/luoshengyang/article/details/6737352前面我们介绍了Android系统的广播机制,从本质来说,它是一种消息订阅/发布机制,因此,使用这种消息驱动模型的第一步便是订阅消息;而对Android应用程序来说,订阅消息其实就是注册广播接收器,本文将探讨Android应用程序是如何注册广播接收器以及把广播接收器注转载 2015-01-31 22:06:39 · 964 阅读 · 0 评论 -
Android应用程序发送广播(sendBroadcast)的过程分析
http://blog.youkuaiyun.com/luoshengyang/article/details/6744448前面我们分析了Android应用程序注册广播接收器的过程,这个过程只完成了万里长征的第一步,接下来它还要等待ActivityManagerService将广播分发过来。ActivityManagerService是如何得到广播并把它分发出去的呢?这就是本文要介绍的广转载 2015-01-31 22:12:52 · 1039 阅读 · 0 评论 -
Android广播机制实现源码浅析(一)
http://blog.youkuaiyun.com/hehui1860/article/details/30726609Android系统的广播机制应用非常的广泛,是一种方便快捷的进程间通信的方式。同时它也有一些很有特殊的使用方式,比如它的两种注册方式,三种类型的广播等,这些充斥在整个系统框架中,那么为了用好广播,很有必要对其源码进行分析,从而避免一些低级失误。本文将对整个广播机制涉及到转载 2015-04-18 13:34:31 · 2509 阅读 · 0 评论 -
Android广播机制实现源码浅析(三)
http://blog.youkuaiyun.com/hehui1860/article/details/30727537在上篇的分析的最后,我们留下了两个问题,一个是静态广播以及有序广播的处理过程,还有一个就是提过的广播超时机制。在本篇中将对这两个问题进行一一的阐述:(1)静态广播以及有序广播的处理过程:从前面的流程中可以看出,静态注册的广播统一的存在了变量mOrderedBroad转载 2015-04-18 13:35:03 · 2636 阅读 · 0 评论 -
Android广播机制实现源码浅析(二)
http://blog.youkuaiyun.com/hehui1860/article/details/30727075紧接着上篇的分析,我们现在来分析一下处理广播的代码流程,也就是在方法queue.scheduleBroadcastsLocked();之后的操作这些方法在BroadcastQueue.java中。在这里能看到我们常说的广播超时,以及我们重写onReceive什么时候执行。转载 2015-04-18 13:35:26 · 902 阅读 · 1 评论 -
Android Low memory killer
http://blog.sina.com.cn/s/blog_4d66a3cb0100prfe.html Android中,进程的生命周期都是由系统控制的,即使用户关掉了程序,进程依然是存在于内存之中。这样设计的目的是为了下次能快速启动。当然,随着系统运行时间的增长,内存会越来越少。Android Kernel 会定时执行一次检查,杀死一些进程,释放掉内存。转载 2016-04-05 13:35:07 · 1461 阅读 · 0 评论 -
Android 自带的应用统计服务(UsageStatsService)
http://light3moon.com/2015/01/31/%E5%B7%A5%E4%BD%9C%E5%B0%8F%E7%AC%94%E8%AE%B0%E2%80%94%E2%80%94Android%20%E8%87%AA%E5%B8%A6%E7%9A%84%E5%BA%94%E7%94%A8%E7%BB%9F%E8%AE%A1%E6%9C%8D%E5%8A%A1[UsageStatsSe转载 2016-10-12 17:03:17 · 7418 阅读 · 3 评论