- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
最近,我们获得了一台搭载 Android 5.1.1 的新 Galaxy S6,但我们在使用它附带的新 Samsung SPCM 内存管理器时遇到了一些问题。它正在主动关闭我们应用程序的后台服务,即使设置为 START_STICKY,它也不会重新启动。
此外,该服务占用的 RAM 不超过 5MB,但我们仍然以某种方式最终获得了 SPCM 算法的最低分数并被选择终止。
这是我们的服务:
Public class IncomingService extends Service {
@Ghi đè
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
@Ghi đè
public void onCreate() {
if (mPhoneListener == null) {
mPhoneListener = new CallStateListener();
TelephonyManager tm = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
}
/**
* Listener for call states
* Listens for different call states
*/
private class CallStateListener extends PhoneStateListener {
@Ghi đè
public void onCallStateChanged(int state, String incomingNumber) {
// Doing something with incomingNumber
}
}
在 list 中:
<>
android:name="com.services.IncomingService"
android:enabled="true"
android:priority="999" >
SPCM 杀死我们服务的日志:
Force stopping com.special.app appid=10499 user=0: SPCM kill lowestscore package!
03-18 22:48:11.280 3562-3562/? I/ActivityManager: Killing 2279:com.special.app/u0a499 (adj 8): stop com.special.app cause SPCM kill lowestscore package!
03-18 22:48:11.280 3562-3562/? W/ActivityManager: Scheduling restart of crashed service com.special.app/com.services.IncomingService in 1000ms
03-18 22:48:11.280 3562-3562/? I/ActivityManager: Force stopping service ServiceRecord{27d2c408 u0 com.special.app/com.services.IncomingService}
即使 ActivityManager 日志表明它正在为我们的服务重新安排重启,但它从未真正重启过。
我们已经看到关于其他应用程序(Facebook、TrueCaller 等)的相同 SPCM 日志,但他们的服务以某种方式设法重启。
综上所述,我们的问题是:
câu trả lời hay nhất
đảm bảoActivityManager is not targeting your service too .
据我所知,除了持续通知之外,没有其他方法可以确保生存,三星的开发人员文档也是如此。至于 Facebook 和 TrueCaller,我没有答案。他们可能利用其他相关流程来恢复服务。
至于受影响的设备,我最早看到的是装有 5.0.2 的 Galaxy Tab S SM-T805。许多 5.1.1 三星设备也有 SPCM。我们最初也在 S6 上重现了这个问题,我可以确认它在 6.0.1 上仍然存在。
至于文档,this Samsung forums topic尽可能远。
对于测试和重现步骤,我建议:
adb shell getprop | grep spcm
.adb shell logcat -v 线程时间 | grep spcm
以确认进程已被终止。
关于android - 处理三星 SPCM killer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36094927/
我正在尝试编写一个简单的任务 killer 。我知道我不应该在 Android 中终止任务,但我很想尝试这样的事情。我有以下代码: List procInfo = activityManager.ge
也许你可以帮忙。 是否有可能获取所有在 Android 系统中运行的 Processes 的列表,并杀死其中的一些?我知道有一些应用程序(task manager),但我想编写自己的简单应用程序。 我
(系统=编程语言,框架等) PHP具有一些严重的好处,其他编程语言及其框架却忽略了这些好处。 其中之一是易于部署。只将文件放入与URL相匹配的目录中感觉很脏。但这是非常简单和直接的。无论您如何看待语言
我们让这位客户提示说,产品在正常运行 2-5 分钟后不断崩溃。经过几天的猜测,我们得出了以下结论: 当进程终止而不留下任何痕迹(事件日志/崩溃转储)时,有两个选项: 1.我们自己的进程在调用 Term
我正在 Genymotion 模拟器中调试应用程序,当应用程序开始出现异常时,我已经厌倦了终止应用程序。梦想是有一些预先配置的一键式(一键式)应用程序 killer 来终止(或卸载)一个特定的应用程序
我在绘制太大的图像时遇到问题,它会杀死我的应用程序。 出现以下错误: java.lang.RuntimeException: Canvas: trying to draw too large (num
我想知道如果C#是性能杀手,为什么C#会提供lambda表达式? 尝试运行以下命令: Stopwatch sw = new Stopwatch(); sw.Start(); x = x.Selec
我有一个作为 Windows 服务运行的 python 程序,在我看来它确实捕获了所有异常。在我的开发环境中,当程序崩溃时,我无法重现任何没有记录异常的情况。除了 2 种情况:程序被任务管理器杀死或者
你们中的一些人可能偶然发现了这篇可爱的文章 - http://igoro.com/archive/quicksort-killer/\ 真正有趣的是他如何修复快速排序以在 O(N log N) 内针对
几周前,我的一个 friend 向我展示了一个网站,其中解释和描述了最流行网站的架构(youtube、amazon、facebook),它还显示了一些关于它们的有趣统计数据。 有谁知道我在哪里可以找到
摧毁僵尸网络的最佳方法不是来自编写自己的病毒吗? 防病毒软件从不冒犯。它只是等待那些有足够时间窃取/下载/安装 X 软件、测试其防御并向其无人机/僵尸部署新更新以利用 X 软件弱点的人的攻击。因此,立
我已经阅读了很多关于这个主题的内容,但我仍然感到困惑。似乎普遍的答案是否定的。但是我发现了一个似乎可以“欺骗”任务 killer 的应用程序。是GO接触EX。即使它正在运行(可以在设置->管理应用程序
我有一个基于 docker 镜像 tomcat-9.0.13-jre11 的 docker 容器内正在运行的 Web 应用程序。容器收到来自 linux 系统的 kill 消息。 我找到的唯一信息来自
我们正在使用 X-Frame-Options header 和可能本页描述的 JS/CSS 设置实现点击劫持保护: https://www.owasp.org/index.php/Clickjacki
我目前正在学习 C,并达到了(哈哈...)学习指针的地步。我想我已经对它们有所了解,并且我想我了解了它们的概念。 如果我有一个名为“c”的指针和一个名为“a”且值为 5 的整数,我将执行以下操作: *
$ mlockall schedtool -R -p 4 -e ionice -c1 mplayer -really-quiet whatever.ogg $ mempig Killed Mplaye
我的邮件从这条规则中得到 1.6 分(最多 2 分被分类为垃圾邮件): SpamAssassin 规则:HTML_IMAGE_ONLY_24 标准描述:HTML:包含2000-2400字节文字的图像
看完this question关于 Windows 内存分配器看似退化的行为,并回想起 this paper关于构建快速排序实现的最坏情况输入,我开始想:是否有可能构建一个程序,给定一个黑盒内存分配器
我正在使用 Busybox 测试和嵌入 linux CPE; BusyBox v1.00 (2012.07.10-03:48+0000) multi-call binary 我想尝试使用盒子上所有可用
从大约一年(也许更多)开始,我不断有进程被 linux oom-killer 杀死。运行的机器是我的 htpc 使用 ubuntu gnome 15.04(当前)。 每天一次或有时连续 10 次被杀死
Tôi là một lập trình viên xuất sắc, rất giỏi!