MIUI后台程序频繁退出原因探究及解决

本文探讨了MIUI系统中后台应用程序频繁退出的问题,分析了并非由内存不足引起,而是系统进程管理机制导致。通过查看Android源码,作者发现是ActivityManagerService和ExtraActivityManagerService关闭后台程序。解决方案是利用Xposed框架,修改ActivityManagerService的mProcessLimit值,从而减少后台程序被关闭的情况。实验结果显示,这种方法能有效改善问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

首先吐槽下某米的手机,质量不错,去年这时候收到的,用到现在除了摄像头里进灰去售后免费修了一次之外,其他的都还好。

美中不足就在于其搭载的MIUI v5不能完全释放APQ8064T 2G内存的潜力,刚打开的程序,往往切换到后台之后没多久就被“终结”了,想再切换回去只能等待系统重新加载一遍应用。

我最开始怀疑是系统占用资源过多所致,但是每次查看内存,总还有700MB可用(这里MIUI的任务管理器和Android自带的应用管理器给出的结果不一致,MIUI给出的数值一般较小,但也有700MB)。而且手中那台老掉渣内存仅有1G的Moto Atrix即使放一夜也不会自动关掉你之前打开的程序,这就否定了内存不足这个猜测。

然后我转而怀疑是MIUI的进程管理自动关掉了空闲的后台程序。于是我在任务管理器里把所有进程都上了锁(就是长按HOME之后把App图标往下拉),之后自动关闭的情况虽然会好一些,但是仍不能完全根除。哪怕是占用内存很少的程序,比如设置等,闲置一段时间后仍然会被kill掉。

既然还是找不到幕后杀手,就只有查看Logcat,看看凶手有没有留下蛛丝马迹了。

经过一番搜索,Logcat给了我这些:

04-28 14:47:37.844: I/ActivityManager(597): No longer want com.cleanmaster.miui_module (pid 918): hidden #25
04-28 14:47:37.925: I/ActivityManager(597): No longer want com.miui.guardprovider (pid 1342): hidden #25
04-28 14:47:43.020: W/ExtraActivityManagerService(597): No longer want com.miui.networkassistant (pid 1823) for more free memory
04-28 14:47:43.020: I/ActivityManager(597): No longer want com.android.fileexplorer (pid 1805): hidden #25

可以看出是ActivityManager(或者更确切点,ActivityManagerService)和ExtraActivityManagerService两个家伙在不停地干掉我的后台程序。

Google之,试图找到已有的解决办法,结果仅有的几篇相关文章也没把问题的根本原因说明白,只是诸如“为什么我开发的程序在后台被关闭了”等等泛泛的讨论。

搜索无果后,我决定直接查看Android源码,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值