自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 3911

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除