JobScheduler详解

[第一步] 创建JobService类

JobService 本质上是Service,所以,需要在注册表中注册

注意,必须要添加 android.permission.BIND_JOB_SERVICE 权限,否则会报错。

[第二步] 创建JobInfo,通过builder设定Job的执行选项

JobInfo.Builder的第一个参数是jobId,由开发者指定。
setMinimumLatency 和 setOverrideDeadline 是预设的条件, setMinimumLatency 是最短延迟时间, setOverrideDeadline 是最长延迟时间。

[第三步] 获取JobScheduler服务执行任务

JobScheduler 是将任务(Job)放到后台,当预制的条件被满足时,这些Job会在后台被执行。
这些预制条件是由JobInfo指定的,那么有哪些预制条件呢?

Job被执行时, JobService 的 onStartJob 就会被执行, onStartJob 中执行任务,这个任务可能是耗时的,可以将耗时任务放在另一个线程执行。

onStartJob是有返回值的。
如果为false,那么说明Job执行完毕。
如果为true,说明Job还没有执行完成,此时的任务是放在另一个线程执行的耗时任务,当这个耗时任务执行完成时,应该主动 jobFinished 方法,告诉系统该Job已经执行完成。

当执行 jobScheduler.cancel 或者 jobScheduler.cancelAll 时,并且该Job还没有执行完,那么 onStopJob 方法被执行。
onStopJob 的返回值如果为false时,表示不需要重试,为true时,表示需要重试。

[本章完...]

  • JobScheduler璇﹁В
    绛旓細JobInfo.Builder鐨勭涓涓弬鏁版槸jobId锛岀敱寮鍙戣呮寚瀹氥俿etMinimumLatency 鍜 setOverrideDeadline 鏄璁剧殑鏉′欢锛 setMinimumLatency 鏄渶鐭欢杩熸椂闂达紝 setOverrideDeadline 鏄渶闀垮欢杩熸椂闂淬俒绗笁姝 鑾峰彇JobScheduler鏈嶅姟鎵ц浠诲姟 JobScheduler 鏄皢浠诲姟锛圝ob锛夋斁鍒板悗鍙帮紝褰撻鍒剁殑鏉′欢琚弧瓒虫椂锛岃繖浜汮ob...
  • JobScheduler 鐨勪娇鐢
    绛旓細JobSchedule 鏄竴涓湇鍔¤皟搴﹀櫒锛屽畠鍙互鍦ㄧ壒瀹氱殑鏉′欢涓嬪悐璧锋垜浠渶瑕佷娇鐢ㄧ殑鏈嶅姟銆侸obSchedule 涓烘瘡涓涓鎵ц鐨 JobService 鍒嗛厤浜嗕竴涓 JobInfo锛孞obInfo 灏辨槸鎴戜滑缁欒繖涓 JobService 瀹氬埗鐨勬潯浠躲傦紝1.鑾峰彇 JobScheduler 閫氳繃 SystemService 鑾峰彇 2.瀹氫箟闇瑕佺鐞嗙殑 JobService 鍚堝苟璇锋眰鍏跺疄灏辨槸灏嗕箣鍓嶅凡缁...
  • JobScheduler鐨勪娇鐢ㄥ拰鍘熺悊
    绛旓細JobScheduler绫昏礋璐e皢搴旂敤闇瑕佹墽琛岀殑浠诲姟鍙戦佺粰妗嗘灦锛屼互澶囧璇ュ簲鐢↗ob鐨勮皟搴︼紝鏄竴涓郴缁熸湇鍔★紝鍙互閫氳繃濡備笅鏂瑰紡鑾峰彇锛欽obInfo鏄紶閫掔粰JobScheduler绫荤殑鏁版嵁瀹瑰櫒锛屽畠灏佽浜嗛拡瀵硅皟鐢ㄥ簲鐢ㄧ▼搴忚皟搴︿换鍔℃墍闇鐨勫悇绉嶇害鏉燂紝涔熷彲浠ヨ涓轰竴涓狫obInfo瀵硅薄瀵瑰簲涓涓换鍔★紝JobInfo瀵硅薄閫氳繃JobInfo.Builder鍒涘缓銆傚畠灏嗕綔涓哄弬鏁颁紶閫...
  • 娣卞叆鐞嗚ВJobScheduler涓嶫obService鐨勪娇鐢
    绛旓細JobScheduler鍜孞obService鏄畨鍗撳湪api 21涓鍔犵殑鎺ュ彛锛岀敤浜庡湪鏌愪簺鎸囧畾鏉′欢涓嬫墽琛屽悗鍙颁换鍔°侸obScheduler鏄敤浜庤鍒掑熀浜庡簲鐢ㄨ繘绋嬬殑澶氱绫诲瀷浠诲姟鐨刟pi鎺ュ彛銆俻ublic abstract class JobService extends Service JobService缁ф壙鑷猄ervice锛屾槸鐢ㄤ簬澶勭悊JobScheduler涓鍒掔殑寮傛璇锋眰鐨勭壒娈奡ervice 鍛ㄦ湡periodic璁剧疆涓5绉->杩...
  • job scheduler鐨勬剰鎬
    绛旓細job scheduler 鑻 [dʒəʊb ˈʃɛdjuːlə] 缇 [dʒoʊb ˈskɛdʒʊlər]缃戠粶  浣滀笟璋冨害鍣; 浠诲姟璋冨害鍣; 浣滀笟璋冨害; 浣滀笟璋冨害绋嬪簭; 浠诲姟璋冨害绋嬪簭 ...
  • Android L 鐨 JobScheduler API 鏄庝箞璁╄澶囩渷鐢电殑
    绛旓細鏂板鐨Job Scheduler 鐪佺數鏈哄埗锛1锛汚PI鍒欏厑璁哥敤鎴峰鍚庡彴浠诲姟浠ュ強褰撹澶囧浜庨棽缃垨杩炴帴鍏呯數鍣ㄧ姸鎬佹椂銆傚紑鍙戣呭彲浠ヤ娇鐢ㄦ鍔熻兘锛岃屼负浜嗘洿濂藉湴鏀寔浣跨敤鍘熺敓浠g爜鐨勫簲鐢ㄣ2锛涢粯璁ら噰鐢ˋRT杩愯鐜 ART鍙栦唬浜咲alvik鎴愪负浜咥ndroid绯荤粺榛樿鐨勮繍琛屾ā寮忥紝Project Volta鐪佺數璁捐绯荤粺銆3锛汚ndroid L棣栨寮曞叆浜嗗畼鏂圭殑鐪佺數绠$悊鏈哄埗...
  • Spark Yarn 璋冨害鍣Scheduler璇﹁В
    绛旓細鍙﹀,鎴戜滑杩樺彲浠ヨ缃畒arn.scheduler.fair.allow-undeclared-pools=false,杩欐牱鐢ㄦ埛灏辨棤娉曞垱寤洪槦鍒椾簡銆 3.5 鎶㈠崰(Preemption) 褰撲竴涓job鎻愪氦鍒颁竴涓箒蹇欓泦缇や腑鐨勭┖闃熷垪鏃,job骞朵笉浼氶┈涓婃墽琛,鑰屾槸闃诲鐩村埌姝e湪杩愯鐨刯ob閲婃斁绯荤粺璧勬簮銆備负浜嗕娇鎻愪氦job鐨勬墽琛屾椂闂存洿鍏烽娴嬫(鍙互璁剧疆绛夊緟鐨勮秴鏃舵椂闂),Fair璋冨害鍣ㄦ敮鎸佹姠鍗犮 鎶㈠崰...
  • Android L濡備綍閫氳繃Project Volta鍜JobScheduler鎻愬崌鎵嬫満缁埅?
    绛旓細涓烘锛孉ndroid L鏂板浜咥PI JobScheduler锛屽畠閫氳繃鏅鸿兘鐨勫榻愬敜閱掓満鍒讹紝瀹氭湡鎵归噺澶勭悊浠诲姟锛岄檷浣庣‖浠跺敜閱掗鐜囷紝璁╄澶囧緱浠ュ厖鍒嗕紤鎭傚悓鏃讹紝绮剧‘鐨勮姹傜洃娴嬪拰浼樺寲鎵ц鏃堕棿锛屼娇寰楄祫婧愪娇鐢ㄦ晥鐜囪揪鍒版渶澶у寲銆傚彟涓涓叧閿敼杩涙槸Battery Historian锛屽畠甯姪鐢ㄦ埛璇︾粏鍒嗘瀽鐢甸噺娑堣楋紝鎵惧嚭鑰楃數澶ф埛銆傚煎緱娉ㄦ剰鐨勬槸锛岃繖浜涘垱鏂板姛鑳藉苟闈...
  • Android L濡備綍閫氳繃Project Volta鍜JobScheduler鎻愬崌鎵嬫満缁埅?
    绛旓細Android L鐨勪唬鍙稸olta鏆楃ず浜嗗叾瀵圭画鑸殑鍏虫敞銆傛柊绯荤粺閫氳繃寮曞叆JobScheduler API锛屽疄鐜颁簡瀵瑰簲鐢ㄧ▼搴忓敜閱掔殑鏅鸿兘绠$悊鍜屼紭鍖栥傝繖涓狝PI閫氳繃瀹氭椂鎵瑰鐞嗕换鍔★紝灏嗗敜閱掓椂闂村帇缂╋紝璁╃‖浠跺緱浠ュ厖鍒嗕紤鎭紝鏈夋晥闄嶄綆姣忔鍞ら啋閫犳垚鐨勭數閲忔秷鑰椼備緥濡傦紝姣忔搴旂敤鍞ら啋璁惧1鍒2绉掞紝灏卞彲鑳藉鑷2鍒嗛挓鐨勫緟鏈烘椂闂村噺灏戙傛澶栵紝Battery Historian...
  • 濡備綍浣跨敤DBMS_SCHEDULER绠$悊璁″垝浠诲姟JOB
    绛旓細鍦⊿QLPLUS 涓紝浣跨敤DBMS_SCHEDULER.CREATE_JOB 鍒涘缓璁″垝浠诲姟锛岀敤浜庤皟搴︿竴涓瓨鍌ㄨ繃绋嬨傚瓨鍌ㄨ繃绋嬪緢绠鍗曪紝鎴戜负杩欎釜娴嬭瘯鑰屽垱寤虹殑锛屽氨鏄悜涓寮犺〃閲屾彃鍏ユ暟鎹侰REATE TABLE T1 AS SELECT SYSDATE AS AA FROM DUAL;CREATE OR REPLACE PROCEDURE SP_TEST_T1 ASBEGININSERT INTO T1 SELECTD SYSDATE FROM DUAL;...
  • 扩展阅读:post orgasm handjob ... termux-job-scheduler ... over40-handjob ... christopherschacht ... handjobincest ... christopher reeve ... jake&jones ... very nice外国老头 ... job.hebust.edu.cn ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网