- 博客(5)
- 收藏
- 关注
原创 JobService完结篇 JobService和Service的多角度对比
JobService的使用,特性和一些流程的源码探究都讲完了。那我们回过头来思考下这个在Android L时候加入的JobService和元老Service到底有何异同,各有什么优势?在需要使用Service的时候,对于JobService和Service,我们该如何用哪一个?首先从他们的实现原理去对比。◆Service由APP侧发出请求,Act
2018-02-07 17:45:20 4616
原创 JobService源码探究之 onStartJob()里执行耗时逻辑导致Job可能被强制销毁
在上篇《JobService源码探究之 onStartJob()里如何优雅地处理耗时逻辑?》里我们留下了如下两个疑问。在本篇里一一解答。疑问一为什么onStartJob()直接执行耗时逻辑后,即便自己没有finish该Job,但是Job还是会被自动销毁?疑问二为什么onStartJob()里开启新线程执行的耗时逻辑超过10min,但是Job被自动停止和销毁?
2018-02-06 17:24:00 2776
原创 JobService源码探究之 onStartJob()里如何优雅地处理耗时逻辑?
首先我们要思考如下两个问题。思考一如果我们在onStartJob()里处理耗时逻辑,导致onStartJob()没有及时返回给JobSchedulerContext。最终结果是怎么样?是ANR?还是因为超时,该Job可能被强制停止和销毁?思考二如果onStartJob()里起了新线程处理耗时逻辑,但是返回值返回了false,那么系
2018-02-06 13:20:40 2045
原创 JobService源码探究之 Job自行Cancel后即使onStopJob返回true也不会被再启动
上章节遗留的疑问二,本章将继续探究缘由。疑问二自行cancel了JobService后,onStopJob()即使返回true也不能被重新启动?照例直接上源码。cancel是IJobScheduler的API,我们直接查看该API的实现。frameworks/base/services/core/java/com/android/server/job/J
2018-02-05 17:23:33 1817
原创 JobService源码探究之 onStartJob()返回false立马被destroy
上一章节讲解了JobService的基本特性和使用方法,本章我们下面从源码(Android OREO)层面探究以下几个疑问。疑问一onStartJob()返回false之后,Job几乎立马就被destory?疑问二自行cancel了JobService后,onStopJob()即使返回true也不能被重新启动?首先我们先来认识一下JobScheduler
2018-02-02 16:06:21 3912
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人