我在 Android 7.0 中使用 JobScheduler API 安排了一个重复作业。
请帮助我理解以下命令输出:
adb shell dumpsys jobscheduler
u0a66 / < pkg >: 58x 待处理 5% 52x 活动
我在 Android 7.0 中使用 JobScheduler API 安排了一个重复作业。
请帮助我理解以下命令输出:
adb shell dumpsys jobscheduler
u0a66 / < pkg >: 58x 待处理 5% 52x 活动
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 并安排它们的操作。
作业可以是,pending
和active
状态active-top
。
该u0a66 / package.name: 58x pending 5% 52x active
行表示在该指定的持续时间内,该州package.name
有58
工作(不到总持续时间的 0.5%)、该州的工作(占总持续时间的 5%)和该州的工作.pending
pending
52
active
active
0
active-top