【发布时间】:2016-06-29 20:52:58
【问题描述】:
我有一个应用程序,它只是一个在启动时启动的服务。我正在系统级别开发,所以我使用android:persistent=true 以确保我的服务不会在内存压力下被杀死。
但是,我发现这会阻止我在任何条件下终止我的服务。我仍然希望能够自己杀死它 - 有没有办法做到这一点,还是因为清单中定义了“persistent=true”而不可能?
如果这是不可能的,我还能如何保护我的进程在内存压力下不死?我可以手动定义优先级吗?可能是oom_score 什么的?
【问题讨论】:
-
killBackgroundProcesses(packageName) 有效吗?
-
调用
stopSelf()会停止服务。还是你真的需要杀死它? -
@Ozbek - 我需要终止进程以节省宝贵的 1mb 内存。
-
@Memme killBackgroundProcess 不起作用,但您的评论将我引向 forceStopPackage,这是系统应用程序的隐藏 ActivityManager 功能。我认为这可能有效,但我正在测试
-
@EricS。我的问题是为什么你需要终止服务?为什么不干脆阻止它?
标签: android