- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为这份工作准备:
val job = JobInfo.Builder(2, ComponentName(context, JobRunner::class.java)).apply {
setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
setRequiresBatteryNotLow(true)
for (triggerUri in triggers) {
addTriggerContentUri(JobInfo.TriggerContentUri(triggerUri, JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS))
}
setTriggerContentUpdateDelay(TimeUnit.MINUTES.toMillis(1))
setTriggerContentMaxDelay(TimeUnit.MINUTES.toMillis(10))
}.build()
jobScheduler.schedule(job)
如果我执行:adb shell dumpsys jobscheduler
我有以下工作信息:
JOB #u0a302/2: 89f4090 com.abc.debug/com.abc.mobile.service.job.JobRunner
u0a302 tag=*job*/com.abc.debug/com.abc.mobile.service.job.JobRunner
Source: uid=u0a302 user=0 pkg=com.abc.debug
JobInfo:
Service: com.abc.debug/com.abc.mobile.service.job.JobRunner
Internal flags: 1 HAS_FOREGROUND_EXEMPTION
Requires: charging=false batteryNotLow=true deviceIdle=false
Trigger content URIs:
1 content://media/internal/images/media
1 content://media/external/images/media
1 content://media/internal/video/media
1 content://media/external/video/media
Trigger update delay: +1m0s0ms
Trigger max delay: +10m0s0ms
Network type: NetworkRequest [ NONE id=0, [ Capabilities: NOT_METERED&INTERNET&NOT_RESTRICTED&TRUSTED&VALIDATED Unwanted: Uid: 10302] ]
Backoff: policy=1 initial=+30s0ms
Required constraints: BATTERY_NOT_LOW CONNECTIVITY CONTENT_TRIGGER [0x14000002]
Satisfied constraints: CHARGING BATTERY_NOT_LOW CONTENT_TRIGGER DEVICE_NOT_DOZING BACKGROUND_NOT_RESTRICTED [0x6400003]
Unsatisfied constraints: CONNECTIVITY [0x10000000]
Tracking: BATTERY CONNECTIVITY CONTENT
Standby bucket: RARE
Base heartbeat: 285
Enqueue time: -20h50m38s25ms
Run time: earliest=none, latest=none
Last run heartbeat: 285
Ready: false (job=false user=true !pending=true !active=true !backingup=true comp=true)
从上面的日志可以看出我需要:
网络类型:NetworkRequest [ NONE id=0, [ Capabilities: NOT_METERED&INTERNET&NOT_RESTRICTED&TRUSTED&VALIDATED Unwanted: Uid: 10302] ]
我在同一台设备上制作了另一个小应用程序来检查 Activity 网络功能:
val connMgr = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val networkCap = connMgr.getNetworkCapabilities(connMgr.activeNetwork)
Log.d("NETWORK_CHECK", "NetworkCapabilities: [$networkCap]")
结果可见:
[ 传输:WIFI 功能:NOT_METERED&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&VALIDATED&NOT_ROAMING&FOREGROUND&NOT_CONGESTED&NOT_SUSPENDED LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps 信号强度:-43]
我拥有我需要的所有能力。为什么我仍然看到约束不满足?
未满足的约束:CONNECTIVITY [0x10000000]
是否有其他可能相关但不完全是能力的东西?
我已经检查过这里,但没有发现任何有用的东西:ConnectivityController
我从另一个日志中发现连接部分的以下内容:
ConnectivityController:
Requested standby exceptions: 10336 (1 jobs) 10342 (1 jobs) 10391 (1 jobs)
10391 是我的 ID。 Requested standby exceptions 是什么意思?
因此,根据以下建议,我很可能是网络使用受限,因为我处于 RARE 备用状态。请在此处查看:
https://developer.android.com/topic/performance/power/power-details
我的问题是,在上面的工作信息中:从上次触发开始已经过去了 ~21 小时,并且通常在某些手机上我什至可以看到 2 天。但是文档说:
最多延迟 24 小时
所以我想找到更多关于到底发生了什么的信息,以便我可以改进。我们发现的不多。
但是禁用电池优化会产生巨大的差异。此外,当设备正在充电时,我们也没有问题。
最佳答案
请务必注意,您的应用程序位于RARE standy bucket
中:
Standby bucket: RARE
这意味着,即使设备具有连接性,您的作业每天也只能访问一次网络。
这记录在 Power Manager restriction 中带注释的指南:
If network access is restricted, the app is granted a window of 10 minutes to use the network at the specified interval.
这可能是一个在后台花费大量时间而用户很少或根本没有交互的应用程序。一种可能的解决方案是增加前台时间,添加一些促使用户打开应用的功能。
关于android - 为什么我看到 : Unsatisfied constraints: CONNECTIVITY in JobScheduler debug info,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64878968/
以下代码中的 alert(`${info} : ${pokemondetails[info]}\n`) 的含义是什么?有人可以用更简单的形式向我解释一下吗? let checkname = funct
C-x C-f blah.info 以基本模式打开文件。我使用了 apropos 并发现了 Info-mode,我认为它可能会从基本模式更改为 Info 模式,但这会引发 lisp 错误。 如何在 e
我想在另一个 Info.plist 键 (NSContactsUsageDescription) 的值中使用“Bundle 显示名称”(CFBundleDisplayName) 的值。 我尝试了以下方
我正在使用 Python 3.6.4。我第一次遇到 logger.setLevel(logging.INFO) 被忽略的问题,然后遇到了 this answer ,这让我感到困惑并引发了这个问题。 鉴
我是python新手 如果 logging.info() 足以进行日志记录,为什么我们必须使用 getLogger() 方法实例化一个记录器? 最佳答案 在没有名称的情况下调用 getLogger()
下面是来自源代码的示例代码:https://docs.python.org/3/howto/logging.html import logging logging.basicConfig(filena
我在网上阅读的所有内容都在谈论 Info.plist。当我创建项目时,XCode 为我创建了一个 [应用程序名称]-Info.plist 文件,它似乎与我在网上看到的示例 Info.plist 具有相
我定义了一个记录器实例如下: private static final Logger LOGGER = Logger.getLogger(Main.class.getName()); 我有一个要记录的
我的应用程序因 Info.plist 文件中缺少用途字符串而被拒绝(特别是对于 NSMicrophoneUsageDescription 用法)。 这取决于 react-native-permissi
我正在 Windows 下使用 Python 3.4.2。就我而言, import logging logger = logging.getLogger('logger') logger.setLev
我的背景主要是使用 C 和 C++ 进行 Windows 编程。最近我也有机会使用一些嵌入式 Linux 系统,但我对此还是个新手。 现在我正在为 Openwrt 开发一个实用程序,它需要对正常操作期
所以我只是按照此处所述运行了 INFO 命令 http://redis.io/commands/info 但它只给我默认部分——比如 cpu 信息和其他 当我尝试添加 [section] 参数时 -
我正在尝试了解 QEMU 内存管理(使用 i386 guest ,没有 KVM)。 QEMU 监视器允许列出 CPU 寄存器信息( info registers )、USB 设备( info usb
我的包中有 package-info.java,Hibernate 需要它来实现某些功能(编程实体扫描)。 但是,mvn package 不会导致 package-info.class 在 class
我遇到了似乎很常见的错误,因为 Xcode 似乎找不到我的“Info.plist”文件。 我已经检查了这两个 StackOverflow 问题的答案( Could not read from Info
我一直在尝试阅读 XEP-0030 Service Discovery但发现该语言非常不透明。 我的问题很简单:disco#info 规范和 disco#items 规范有什么区别? 我的猜测是 di
这个问题已经有答案了: String concatenation performance in Log4j (3 个回答) 已关闭 4 年前。 之前我通常使用log.info(“dsasdds ” +
我从 Erlang 文档中看到 supervisor:start_child 可以返回两个不同的非错误结果:{ok, Child} 和 {ok, Child, Info}。这个信息在哪里设置? sim
我使用的是 Crystal 0.25.0,File.info(string).symlink? 在以下示例中应返回 true 时返回 false: `mkdir -p /tmp/delete` Di
对于属性: Persist Security Info=true 和 Persist Security Info=false 你能告诉我它们之间有什么区别吗,如果我不把它放在我的连接中会发生什么? c
我是一名优秀的程序员,十分优秀!