我们之前总结过HandlerThread、IntentService,http://t.csdn.cn/U7Qzr,知道了,在子线程执行一些定时任务,android已经给我们提供了现成的一些API。但是我们也知道,这些
老的API
随着android的逐步发展,里面的很多漏洞逐渐被开发者们发现。SharePreference的ANR典型问题、HandlerThread的无限循环问题、IntentService仅有一个线程的局限性、AsyncTask的内存泄露问题等等,我们我们总是看到,随着每个android新版本的发布,看到sdk上面总是有各种废弃Deprecated
的字样。
本文,我们主要对IntentService的替代API接口JobScheduler,从简单的使用入手,然后逐步对内部的实现源码细节进行分析。
1. IntentService引入的背景
首先我们先看一下,android 8.0 之后,sdk中IntentService类的注释说明
/**
*这些主要是IntentService的使用说明,这里不再赘述,各位有兴趣的可以到小编专栏找相应的文章,查看
* IntentService is an extension of the {@link Service} component class that
* handles asynchronous requests (expressed as {@link Intent}s) on demand.
* Clients send requests
* through {@li