BroadcastReceiver篇 3 - unregisterReceiver 和 TimeOut 流程分析
[toc] 基于 Android 7.1.1 源码,分析 BroadcastReceiver 动态注册 的过程,转载请说明出处! 0 综述BroadcastReceiver 动态注册后,需要动态取消注册: 1public void unregisterReceiver(BroadcastReceiver receiver); 下面,我们来进入源码,分析 unregisterReceiver 的流程 ...
阅读更多
BroadcastReceiver篇 2 - registerReceiver 动态注册流程分析
[toc] 基于 Android 7.1.1 源码,分析 BroadcastReceiver 动态注册 的过程,转载请说明出处! 0 综述BroadcastReceiver 动态注册,就是应用程序在运行过程中,调用 registerReceiver 方法注册:12345678910111213@Overridepublic Intent registerReceiver( Broadcast ...
阅读更多
JobScheduler第 8 篇 - JobInfo JobStatus 和 JobParameters
基于 Android 7.1.1 源码分析,本文为原创,转载请说明出处,谢谢! 前言这一篇我们来分析一下 JSS 中的一些对象,看看我们能对 job 做哪些属性的设置: JobInfo JobStatus JobParameters 1 JobInfo我们先来看看 JobInfo 的简化结构: 123456789public class JobInfo implements Parcelab ...
阅读更多
JobScheduler第 7 篇 - JobSchedulerService - package and uid change
基于 Android 7.1.1 源码分析: 前言我们想象这样的场景,如果有一个应用,它 schedule 了一些 job, 这些 job 可能正在运行,可能在 pending!这个时候,用户卸载了这个应用,那这个应用对应的 job 该何去何从?这里就要涉及到 package change 对 job 的影响了! 同时,进程优先级的变化,其实也会影响进程内的 job 的优先级! 我们回到 JSS ...
阅读更多
JobScheduler第 6 篇 - JobSchedulerService - job controll
基于 Android 7.1.1 源码分析,分析 job controller 的实现机制! 前言我们知道,当我们把 job schedule 进入 JobSchedulerService 中后,JobSchdulerService 会拉起它,之前我们分析了用户主动 cancel 和 jobFinished job 时,具体的函数调用,而对于 job 除了受的到用户的主动操作之外,还有 contr ...
阅读更多
JobScheduler第 5 篇 - JobSchedulerService - jobFinished
基于 Android 7.1.1 源码分析 前言当任务完成时,应用需要手动调用 jobFinished 方法,这个方法是属于 JobService 的:123456public final void jobFinished(JobParameters params, boolean needsReschedule) { ensureHandler(); Message m = ...
阅读更多
JobScheduler第 4 篇 - JobSchedulerService - cancel
基于 Android 7.1.1 源码分析 前提接下来,我们来看看 JobServiceService 服务中和 cancel 相关的服务:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556// 取消指定设备用户的所有的 job!void ca ...
阅读更多
JobScheduler第 3 篇 - JobSchedulerService - schedule
基于 Android 7.1.1 源码分析,本文为作者原创,转载请说明出处,谢谢。 前言我们先从基本的方法开始,也就是 schedule 方法,方法参数传递: JobInfo job:需要 schedule 的任务! int uId:调用方的 uid! 12345678910111213141516171819202122232425262728293031323334353637383940 ...
阅读更多
Process篇 4 - 进程的 priority 和 oomAdj 简析
基于 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 流程分析
本文基于 Android 7.1.1 源码分析,转载请说明出处! 0 综述我们通过 startService 启动的服务,需要通过 stopService 来停止: 1context.stopService(intent); 以前我们只是会调用,但是其底层的调用到底是什么样的呢?知其然知其所以然,今天我们就来学习下 stopService 的过程! 如果之前并不了解这块逻辑的话,那该如何去学习呢? ...
阅读更多