BroadcastReceiver篇 4 - BroadcastReceiver 静态注册|AndroidFramework源码分析BroadcastReceiver广播接收者|BroadcastReceiver广播接收者[toc]
本文基于 Android 7.1.1 源码,分析 BroadcastReceiver 的静态注册过程,转载请说明出处,谢谢!
0 综述广播接收者除了动态注册之外,还有静态注册,就是在 AndroidManifest.xml 文件中进行配置!
123456789101112<receiver android:enabled=["true" | " ...
阅读更多
BroadcastReceiver篇 3 - unregisterReceiver 和 TimeOut 流程分析|AndroidFramework源码分析BroadcastReceiver广播接收者|BroadcastReceiver广播接收者[toc]
基于 Android 7.1.1 源码,分析 BroadcastReceiver 动态注册 的过程,转载请说明出处!
0 综述BroadcastReceiver 动态注册后,需要动态取消注册:
1public void unregisterReceiver(BroadcastReceiver receiver);
下面,我们来进入源码,分析 unregisterReceiver 的流程 ...
阅读更多
BroadcastReceiver篇 2 - registerReceiver 动态注册流程分析|AndroidFramework源码分析BroadcastReceiver广播接收者|BroadcastReceiver广播接收者[toc]
基于 Android 7.1.1 源码,分析 BroadcastReceiver 动态注册 的过程,转载请说明出处!
0 综述BroadcastReceiver 动态注册,就是应用程序在运行过程中,调用 registerReceiver 方法注册:12345678910111213@Overridepublic Intent registerReceiver( Broadcast ...
阅读更多
JobScheduler第 8 篇 - JobInfo JobStatus 和 JobParameters|AndroidFramework源码分析JobScheduler任务调度|JobScheduler任务调度基于 Android 7.1.1 源码分析,本文为原创,转载请说明出处,谢谢!
前言这一篇我们来分析一下 JSS 中的一些对象,看看我们能对 job 做哪些属性的设置:
JobInfo
JobStatus
JobParameters
1 JobInfo我们先来看看 JobInfo 的简化结构:
123456789public class JobInfo implements Parcelab ...
阅读更多
JobScheduler第 7 篇 - JobSchedulerService - package and uid change|AndroidFramework源码分析JobScheduler任务调度|JobScheduler任务调度基于 Android 7.1.1 源码分析:
前言我们想象这样的场景,如果有一个应用,它 schedule 了一些 job, 这些 job 可能正在运行,可能在 pending!这个时候,用户卸载了这个应用,那这个应用对应的 job 该何去何从?这里就要涉及到 package change 对 job 的影响了!
同时,进程优先级的变化,其实也会影响进程内的 job 的优先级!
我们回到 JSS ...
阅读更多
JobScheduler第 6 篇 - JobSchedulerService - job controll|AndroidFramework源码分析JobScheduler任务调度|JobScheduler任务调度基于 Android 7.1.1 源码分析,分析 job controller 的实现机制!
前言我们知道,当我们把 job schedule 进入 JobSchedulerService 中后,JobSchdulerService 会拉起它,之前我们分析了用户主动 cancel 和 jobFinished job 时,具体的函数调用,而对于 job 除了受的到用户的主动操作之外,还有 contr ...
阅读更多
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 ...
阅读更多