1

我在 Android 7.0 中使用 JobScheduler API 安排了一个重复作业。

请帮助我理解以下命令输出:

adb shell dumpsys jobscheduler

u0a66 / < pkg >: 58x 待处理 5% 52x 活动

4

2 回答 2

0

58 个待处理的作业,5%(总共 52 个正在运行的任务)已完成。/* 5% 的已完成作业 id 存储在 CompletedJobs 队列中以进行跟踪 */

adb shell dumpsys jobscheduler >> output.txt 
gedit output.txt //read the complete output to get concepts

通常x用于表示一个数字(频率)。

我有如下输出:

   Current stats at 2017-07-25-01-42-38 (-5m30s657ms) over +5m30s657ms:
      1000 / android: 2x pending 1x active 
 u0a14 / com.google.android.gms: 1x pending 1% 1x active-top
      u0a66 / com.google.android.apps.photos: 3x pending 1x active
      Max concurrency: 3 total, 1 foreground

句法:

 /*<Uid> <reference> <app_name>: <% completed> <pending_jobs_count> <% completed>
     <active_jobs_count> <status_that_tells_if_active_job_is_at_top_of_queue> */

这是对它应该如何的一般理解。我无法为您提供链接,所以我也不能 100% 确定。我刚刚和你分享了我的看法。

JobScheduler 是为了有效地维护并发性(从线程级别——称为作业)。即使对于同一个程序,也可以有多个进程(例如,服务可以从不同的进程启动),以及多个线程。最终,这些所有线程都被放入 ThreadPoolExecuter 并安排它们的操作。

于 2017-07-25T07:02:16.857 回答
-1

作业可以是,pendingactive状态active-top

u0a66 / package.name: 58x pending 5% 52x active行表示在该指定的持续时间内,该州package.name58工作(不到总持续时间的 0.5%)、该州的工作(占总持续时间的 5%)和该州的工作.pendingpending52activeactive0active-top

于 2017-07-25T08:46:53.420 回答