首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏韩曙亮的移动开发专栏

    【Android 电量优化】电量优化 ( JobScheduler | JobService | AsyncTask )

    JobScheduler 使用流程 二、AsyncTask 简介 三、JobScheduler 开发流程 四、JobScheduler 代码示例 1、JobScheduleManager 代码示例 2、JobService 的 onStartJob 方法中 , 会由系统在合适的时间 , 执行相关任务 ; public class BpJobService extends JobService { @Override 省略部分代码 } 二、AsyncTask 简介 ---- 在 JobScheduler 提交任务后 , 系统会在 JobService 中执行相应的任务 , 执行的时机由系统选择 ; 系统回调 JobService 添加任务 : 在一个第三方 Service 服务中 , 调用 JobScheduleManager 类添加任务 , 系统会自动回调分配执行任务 , 在 JobService 中的 onStartJob 与 AsyncTask 代码示例 JobService 与 AsyncTask 代码示例 : 注意 JobService 的两个方法 onStartJob , onStopJob 的调用时机 , 与返回值含义

    1.7K00编辑于 2023-03-28
  • 来自专栏码匠的流水账

    聊聊PowerJob的JobController

    JobController.java@Slf4j@RestController@RequestMapping("/job")public class JobController { @Resource private JobService jobService; @Resource private JobInfoRepository jobInfoRepository; @PostMapping("/save") public ResultDTO<Void> saveJobInfo(@RequestBody SaveJobInfoRequest request) { jobService.saveJob interface JobService { Long saveJob(SaveJobInfoRequest request); JobInfoDO copyJob(Long jobId) JobServiceImpl实现了JobService接口save @Override public Long saveJob(SaveJobInfoRequest request) {

    34110编辑于 2024-01-28
  • 来自专栏老欧说安卓

    Android开发笔记(一百四十三)任务调度JobScheduler

    JobService 任务服务是一种特殊的Service,它描述了该任务内部的具体业务逻辑,需要开发者重写的方法如下: onStartJob:在任务开始执行时触发。 return mBinder.asBinder(); } JobService实现了onBind方法,表示任务调度在工作的时候,JobService是通过绑定方式启动的。 1 : 0; m.sendToTarget(); } 因为JobService由系统触发,不是在App的主线程中,所以这里通过Message机制与主线程进行通信。 启动方式 由于JobService继承自Service,因此既可以把它当作专门的调度服务来启动,也可以把它当作普通的服务来启动。 ,那么就得JobService自己在onStartCommand方法中进行任务调度了。

    1.4K30发布于 2019-01-18
  • 来自专栏韩曙亮的移动开发专栏

    【Android 电量优化】JobScheduler 源码分析 ( JobServiceContext 源码分析 | 闭环操作总结 | 用户提交任务 | 广播接收者接受相关广播触发任务执行 )★

    文章目录 一、JobServiceContext 引入 二、JobServiceContext 源码分析 三、用户在应用层如何使用 JobScheduler 四、用户提交任务 五、广播接收者监听广播触发 JobService 服务 , 提交任务时需要提交该服务 ; 绑定服务 , 执行 JobService 服务中的 onStartJob 方法 截止到此处 , 基本 JobScheduler 整个运行的闭环 , 进行了简单的源码分析 try { // 启动服务 , 会执行 JobService 服务中的 onStartJob 方法 mBatteryStats.noteJobStart : 开发者在应用中自定义 JobService 服务 ; 服务执行 : 系统会在合适的时间调用 JobService 服务的 boolean onStartJob(JobParameters params , 开始执行任务 , 会自动回调下面代码中的 onStartJob 方法 ; public class BpJobService extends JobService { @Override

    82100编辑于 2023-03-28
  • 来自专栏程序员修炼之路

    Android经典实战之处理后台任务的2个工具

    使用 JobScheduler 的步骤: 1、 创建 JobService: 定义一个继承 JobService 的类,并在 onStartJob 方法中执行后台任务。 import android.app.job.JobParameters import android.app.job.JobService import android.util.Log class MyJobService : JobService() { override fun onStartJob(params: JobParameters?) ("MyJobService", "Job stopped.") // 返回true表示希望系统重新调度这个任务 return true } } 2、 注册 JobService : 在 AndroidManifest.xml 中注册你的 JobService

    47210编辑于 2024-08-14
  • 来自专栏技术、架构与思维

    Quartz.NET的使用(附源码)

    ); config.Service<JobService>(setting => { JobService.InitSchedule   此类用来读取配置信息、初始化调度任务和注入ioc容器 public class JobService { #region 初始化 private static readonly ILog Log = LogManager.GetLogger(typeof(JobService)); private const string JobFile /// <param name="svc"></param> public static void InitSchedule(ServiceConfigurator<JobService QuartzAutofacFactoryModule()); builder.RegisterModule(new QuartzAutofacJobsModule(typeof(JobService

    2.8K10发布于 2018-09-12
  • 来自专栏韩曙亮的移动开发专栏

    【Android 进程保活】应用进程拉活 ( JobScheduler 拉活 | JobScheduler 使用流程 | JobService 服务 | 不同版本兼容 | 源码资源 )

    文章目录 一、 JobScheduler 用法简介 二、 JobScheduler 拉活完整代码 1、 JobService 2、清单文件 3、启动 JobScheduler 任务 4、运行效果 三、 服务 , JobService 需要 API Level 21 ; 该服务注册时必须声明 android.permission.BIND_JOB_SERVICE 权限 ; <! (Context.JOB_SCHEDULER_SERVICE); ② 指定 JobScheduler 任务信息 JobInfo : 绑定任务 ID , 指定任务的运行组件 , 也就是之前创建并注册的 JobService 开启定时任务 jobScheduler.schedule(jobInfoBuilder.build()); ⑤ 7.0 以上的特殊处理 : 由于在 7.0 以上的系统中设置了延迟执行 , 需要在 JobService startJob(this); } return false; } } 二、 JobScheduler 拉活完整代码 ---- 1、 JobService

    1.8K11编辑于 2023-03-29
  • 来自专栏非著名运维

    企业实战(6)修改Harbor镜像仓库默认存储路径

    mnt/harbor [root@harbor harbor]# docker-compose down -v //停止并移除整个project的所有services Stopping harbor-jobservice : image: vmware/harbor-jobservice:v1.5.0 container_name: harbor-jobservice env_file: - . /common/config/jobservice/env restart: always volumes: - /mnt/harbordata/job_logs:/var/ /common/config/jobservice/config.yml:/etc/jobservice/config.yml:z networks: - harbor depends_on driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "jobservice

    1.6K20编辑于 2022-06-22
  • 来自专栏非著名运维

    Harbor v2.3.2安装启动报错解决:Creating network “harbor_harbor“ with th..

    image: goharbor/prepare:v2.3.2 Loaded image: goharbor/harbor-db:v2.3.2 Loaded image: goharbor/harbor-jobservice config.yml Clearing the configuration file: /config/db/env Clearing the configuration file: /config/jobservice /env Clearing the configuration file: /config/jobservice/config.yml Generated configuration file: /config /env Generated configuration file: /config/jobservice/config.yml Creating harbor-log ... done Generated Creating harbor-jobservice ...

    91820编辑于 2022-06-22
  • 来自专栏韩曙亮的移动开发专栏

    【Android 进程保活】应用进程拉活 ( 双进程守护 + JobScheduler 保活 | 成功率最高 | 推荐使用 )

    文章目录 一、 双进程守护保活 + JobScheduler 原理 二、 双进程守护保活 + JobScheduler 源码 1、JobService 代码 2、判定服务运行工具类 3、清单文件 4、 源码资源 一、 双进程守护保活 + JobScheduler 原理 ---- 【Android 进程保活】应用进程拉活 ( JobScheduler 拉活 | JobScheduler 使用流程 | JobService ) 博客中介绍了双进程守护保活用法 ; 使用 " 双进程守护保活 + JobScheduler " 机制 , 成功率最高 ; " 双进程守护保活 + JobScheduler " 整合方法 : 在 JobService + JobScheduler 源码 ---- 大部分代码与 【Android 进程保活】应用进程拉活 ( 双进程守护保活 ) 博客中重复 , 这里只贴出 JobScheduler 相关源码 ; 1、JobService ; import android.app.job.JobParameters; import android.app.job.JobScheduler; import android.app.job.JobService

    3.4K21编辑于 2023-03-29
  • 来自专栏Java升级打怪进阶之路

    springboot+quartz构建定时任务

    QuartzInitializerListener(); } 调度器控制类 @Controller @Slf4j public class JobController { private final JobService jobService; @Autowired public JobController(JobService jobService) { this.jobService = jobService; } @GetMapping("/job") public String applicationMain() { return "/ 调度器接口和实现类: ```java /** * @author zjq * @date 2019 *

    description:定時任务接口

    */ public interface JobService Integer currentPage, Integer pageSize); } @Service @Slf4j public class JobServiceImpl implements JobService

    1.1K30编辑于 2022-11-24
  • 来自专栏微卡智享

    Android之任务调度WorkManager和JobSchedule的使用

    JobSchedule 微卡智享 JobScheduler和JobService是安卓在api 21中增加的接口,用于在某些指定条件下执行后台任务。 当JobInfo中声明的执行条件满足时,系统会在应用的JobService中启动执行这个任务。 当任务执行时,系统会为你的应用持有WakeLock,所以应用不需要做多余的确保设备唤醒的工作。 JobService JobService继承自Service,是用于处理JobScheduler中规划的异步请求的特殊Service 使用JobService必须先在AndroidManifest.xml 01 创建JobService package dem.vaccae.task.jobschedule import android.app.job.JobParameters import android.app.job.JobService false来销毁这个工作 Log.i(TAG, "jobTest is over") return false } } 创建了一个TestJobService 继承自JobService

    4.8K10发布于 2021-09-17
  • 来自专栏日拱一兵

    DockerHub访问慢怎么破?试试Harbor?

    updaters_interval: 12 jobservice: # Maximum number of job workers in job service max_job_workers _version: 1.10.0 # Configure proxies to be used by Clair, the replication jobservice, and Harbor. /env Clearing the configuration file: /config/jobservice/config.yml Generated configuration file: /config /env Generated configuration file: /config/jobservice/config.yml loaded secret from file: /secret/keys Stopping harbor-jobservice ... done Stopping harbor-core ... done Stopping redis ..

    3.8K30发布于 2020-12-31
  • 来自专栏Android 开发者

    玩转全新的 Android 8.0 Oreo 后台策略

    然而,从 API 26 开始,您必须明智地决定,哪些应该沿用原有的普通后台 Service,哪些应该使用 JobService。 您不应该在这里使用 JobService,因为 JobService 会引入延迟,而用户交互通常需要您的应用进行即时响应。 对于其他四个操作,您应该使用 JobService; 因为它们都可以在您的应用位于后台时执行。 但是由于 JobService 在 Android Framework 中设计的方式,您不能这样做。以下是 jobId 的官方描述: 应用为这个作业提供的 ID。 您的应用中的每个 -JobService,都必须拥有唯一和最终的 JOB_TYPE_ 前缀。再强调一次,必须是彻底的一对一关系。

    1.2K40发布于 2018-05-31
  • 来自专栏腾讯云原生实践教程

    【腾讯云容器服务】在 TKE 上自建 harbor 镜像仓库

    : / # 存储桶中存储镜像数据的路径 persistentVolumeClaim: registry: existingClaim: 'registry-registry' jobservice : existingClaim: "registry-jobservice"harborAdminPassword: '123456' # 务必修改! persistentVolumeClaim 配置持久化存储,我这里只有 registry 和 jobservice 模块需要挂载存储,存储我挂载的 CFS (腾讯云 NFS 服务),指定 existingClaim 附录挂载 CFS使用如下 yaml 将 CFS 作为 jobservice 和 registry 模块的持久化存储进行挂载:registry-nfs-pv.yaml:apiVersion: v1kind requests: storage: 10Gi storageClassName: "" volumeMode: Filesystem volumeName: registry-jobservice

    4.3K51编辑于 2022-08-03
  • 来自专栏Android机动车

    玩转全新的 Android 8.0 Oreo 后台策略

    然而,从 API 26 开始,您必须明智地决定,哪些应该沿用原有的普通后台 Service,哪些应该使用 JobService。 您不应该在这里使用 JobService,因为 JobService 会引入延迟,而用户交互通常需要您的应用进行即时响应。 对于其他四个操作,您应该使用 JobService; 因为它们都可以在您的应用位于后台时执行。 避免 JobId 冲突 由于以上所有的四个 JobService 都在处理 Channel 对象,您似乎可以方便地使用 channelId 作为 jobId。 但是由于 JobService 在 Android Framework 中设计的方式,您不能这样做。以下是 jobId 的官方描述: 应用为这个作业提供的 ID。

    1K20发布于 2018-08-03
  • 来自专栏云端漫步

    基于gitlab ci构建devops平台

    driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "ui" jobservice : image: vmware/harbor-jobservice:v1.1.2 container_name: harbor-jobservice env_file: /common/config/jobservice/env restart: always volumes: - /data/job_logs:/var/log/jobs:z /common/config/jobservice/app.conf:/etc/jobservice/app.conf:z - /data/secretkey:/etc/jobservice driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "jobservice

    5K51发布于 2018-10-11
  • 来自专栏搬砖记录

    SpringTask实现数据库中获取任务、调用方法、方法参数

    (runnable,new CronTrigger(cron)); } } 执行器 /** * 定时扫描数据库执行任务 */ @Slf4j @Component public class JobService 用途 将时间跨度较高的任务加到数据表中(比如一个月执行一次),由JobService.execute方法,定时扫描数据库执行,能够避免服务停止导致的定时任务丢失。 可以将JobService.execute方法中的代码抽出,作为其他工具类使用(比如按扫描频度、执行功能等增加多种不同的execute) 本人目前的使用步骤: 在JobService类中添加可能的方法 在满足创建定时任务的地方,通过JobMapper创建定时任务保存到数据库 设置JobService.execute扫描时间 5. 可以通过队列解决 若要支持非基本类型,可以考虑传入Class类型 反射执行的方法必须是JobService中的方法,传入全类名然后反射即可 现在比较忙,后续会把这个补充完成。

    1.3K20发布于 2021-08-19
  • 来自专栏非著名运维

    企业实战(5) Docker私有镜像仓库Harbor的部署与使用详解

    /common/config/jobservice/env Generated configuration file: . /common/config/jobservice/config.yml Generated configuration file: . /common/config/jobservice/config.yml Generated configuration file: . Up (healthy) 3306/tcp harbor-jobservice /harbor/start.sh harbor-jobservice:harbor-jobservice 是harbor的job管理模块,job在harbor里面主要是为了镜像仓库之前同步使用的; harbor-ui:harbor-ui

    1.4K11编辑于 2022-06-22
  • 来自专栏mall学习教程

    DockerHub访问慢怎么破?自建个企业级镜像仓库试试!

    updaters_interval: 12 jobservice: # Maximum number of job workers in job service max_job_workers _version: 1.10.0 # Configure proxies to be used by Clair, the replication jobservice, and Harbor. /env Clearing the configuration file: /config/jobservice/config.yml Generated configuration file: /config /env Generated configuration file: /config/jobservice/config.yml loaded secret from file: /secret/keys Stopping harbor-jobservice ... done Stopping harbor-core ... done Stopping redis ..

    1.5K10发布于 2020-12-21
领券