首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
更木小八
掘友等级
Android 开发工程师
行者无疆,思者无界,心之所向,无疆无界
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
177
文章 170
沸点 7
赞
177
返回
|
搜索文章
最新
热门
JobScheduler之源码分析
接下来我们从源码角度去深入理解JobScheduler的运行机制。 该方法的核心逻辑是遍历所有的StateController并执行其maybeStartTrackingJob方法。 JobSchedulerService使用一个名为mControllers的变量保存State…
JobScheduler之重试机制
通过前面的学习,我们知道如果Job需要进行重试,那么会在JobSchedulerService.onJobCompleted方法中生成一个新的JobStatus实例,然后重新执行任务。 新创建的JobStatus对象相对于老对象主要更新了一下最早执行时间和最晚执行时间(dead…
JobScheduler之超时检查
JobServiceContext与JobService交互的过程中会JobServiceContext会进行超时检查,下面我们来看看超时检查是怎么做的。 可以发现,JobService在执行每一步操作的时候都会有超时检查。 该方法会直接解绑JobService,我们之前讲过了…
JobScheduler之入门
今天我们来学习另一种解决方案:JobScheduler。 JobScheduler是在Android 5.0添加的,它可以检测网络状态、设备是否充电中、低电量、低存储等状态,当所有条件都满足时就会触发执行对应的JobService来完成任务。同时具备了重试、定时执行、持久化任务…
为什么View.post方法可以用来获取视图尺寸
之所以会出现这篇文章,是因为最近用到了这个方法。 最开始我用的是Activity.runOnUiThread和Handler.post这两个方法,但是发现获取到的视图尺寸为0,而只有View.post才能得到我想要的结果,这让我觉得自己对View.post这个方法的理解还不充分…
Fragment生命周期
通过对Fragment生命周期的变化的观察,我们可以很容易发现,add/remove操作会引起Fragment在INITIALIZING和RESUMED这两个状态之间迁移。 而attach/detach操作会引起Fragment在CREATED和RESUMED这两个状态之间迁移…
Broadcast之goAsync方法
简单来说,goAsync提供了一种机制,让我们可以在异步线程中处理广播消息,以防止主线程被阻塞。 我们知道AMS是通过跨进程调用ApplicationThread来实现调用广播的onReceive方法。 在正式开始介绍goAsync之前,ApplicationThread内部的…
Broadcast之前/后台广播队列
ActivityManagerService中有两个广播队列:mFgBroadcastQueue和mBgBroadcastQueue。它们都是BroadcastQueue的实例,只不过初始化时的入参有些不一样。 1. 区别 可以看到前台广播与后台广播主要用三个方面的区别:名称、…
Broadcast发送流程
Context提供了多种方法来发送广播,sendBroadcast、sendOrderedBroadcast、sendStickyBroadcast、sendStickyOrderedBroadcast等等,最终都是调用的ActivityManagerService.broad…
Broadcast注册流程
广播注册分为两种:动态注册、静态注册。 静态注册只需要在Manifest文件中声明即可。 而动态注册则需要通过Context.registerReceiver方法进行注册。下面我们分析一下动态注册的过程。 动态注册通过调用Context.registerReceiver方法实现…
下一页
个人成就
文章被点赞
129
文章被阅读
60,577
掘力值
1,037
关注了
28
关注者
22
收藏集
9
关注标签
14
加入于
2016-08-27