JobScheduler第 5 篇 - JobSchedulerService - jobFinished|AndroidFramework源码分析JobScheduler任务调度|JobScheduler任务调度基于 Android 7.1.1 源码分析
前言当任务完成时,应用需要手动调用 jobFinished 方法,这个方法是属于 JobService 的:123456public final void jobFinished(JobParameters params, boolean needsReschedule) { ensureHandler(); Message m = ...
阅读更多
JobScheduler第 4 篇 - JobSchedulerService - cancel|AndroidFramework源码分析JobScheduler任务调度|JobScheduler任务调度基于 Android 7.1.1 源码分析
前提接下来,我们来看看 JobServiceService 服务中和 cancel 相关的服务:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556// 取消指定设备用户的所有的 job!void ca ...
阅读更多
JobScheduler第 3 篇 - JobSchedulerService - schedule|AndroidFramework源码分析JobScheduler任务调度|JobScheduler任务调度基于 Android 7.1.1 源码分析,本文为作者原创,转载请说明出处,谢谢。
前言我们先从基本的方法开始,也就是 schedule 方法,方法参数传递:
JobInfo job:需要 schedule 的任务!
int uId:调用方的 uid!
12345678910111213141516171819202122232425262728293031323334353637383940 ...
阅读更多
Process篇 4 - 进程的 priority 和 oomAdj 简析|AndroidFramework源码分析Process进程|Process进程基于 Android 7.1.1 源码,分析和总结进程相关的知识!
本文参考:
1https://developer.android.com/guide/components/processes-and-threads.html
1 进程的重要性层次进程的重要性层次一共有 5 级,以下的部分内容截取自 Android Developer Guide!
From Android Develope ...
阅读更多
Serivce 篇 3 - stopService 流程分析|AndroidFramework源码分析Service服务|Service服务本文基于 Android 7.1.1 源码分析,转载请说明出处!
0 综述我们通过 startService 启动的服务,需要通过 stopService 来停止:
1context.stopService(intent);
以前我们只是会调用,但是其底层的调用到底是什么样的呢?知其然知其所以然,今天我们就来学习下 stopService 的过程!
如果之前并不了解这块逻辑的话,那该如何去学习呢? ...
阅读更多
JobScheduler第 2 篇 - JobSchedulerService 的启动|AndroidFramework源码分析JobScheduler任务调度|JobScheduler任务调度基于 Android 7.1.1 源码分析,本文为原创,转载请说明出处。。。
0 前言JobSchedulerService 服务的启动,是在 SystemServer 的 startOtherServices 方法中:123456789private void startOtherServices() { ... mSystemServiceManager.startService ...
阅读更多
Process篇 2 - Android 进程的创建|AndroidFramework源码分析Process进程|Process进程[toc]
基于 Android 7.1.1 源码,分析进程的创建!
1 前言当 Android 系统在启动一个应用进程时,如果发现某个进程没有创建,那就要先创建这个进程, Android 系统中每一个应用进程,包括 SystemServer 进程都是由 Zygote 直接孵化出来的!
本片文章,就来总结下进程的 fork 流程!
2 Process - prepare fork我们来继续看:
2 ...
阅读更多
Process篇 1 - Android 进程的启动|AndroidFramework源码分析Process进程|Process进程[toc]
基于 Android 7.1.1 源码分析,进程
1 前言我们知道,在 Android 系统中,每一个 app 都至少运行在一个进程中的,可以通过配置 Android:process 属性,来使 app 的某个组件运行在不同的进程中的,从而达到一个 app 在运行在多个进程中!
本文将总结和分析 Android 进程启动进程的主要流程,更深入地理解 Android 系统的架构!
2 启 ...
阅读更多
Service 篇 2 - startService 流程分析|AndroidFramework源码分析Service服务|Service服务基于 Android 7.1.1 源码分析 startService 的流程,本文为作者原创,转载请说明出处!
0 综述我们在应用中经常会启动 Service:
1startService(intent);
这个方法最终会拉起 Service 的 onStartCommand 方法:12345@Overridepublic int onStartCommand(Intent intent, int ...
阅读更多
ActivityManager第 1 篇 - ActivityManagerService 的启动|AndroidFramework源码分析ActivityManager活动管理|ActivityManager活动管理[toc]
基于 Android 7.1.1 源码分析 AMS 的机制,本文为作者原创,转载请说明出处,谢谢!
0 综述Android 系统开机时,在 SystemService 进程被 Zygote 启动后,SystemSevice 进程需要启动一些系统的重要服务:1234Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "StartService ...
阅读更多