一、问题描述

之前在MTK源码中,添加了的自定义的launcher后,发现其经常会被莫名其妙kill掉,根据错误日志找到如下描述:

DuraSpeed: Add com.my.test to the suppress list, the suppress list = [com.android.settings, com.android.calendar, com.my.launcher, com.my.test]

查了下资料,发现是因为MTK内置了一套自己的进程管理软DuraSpeed(快霸)。该软件会在后台限制"白名单"之外的进程,从而提高前台进程的性能。

简单流程就是,将启动的app加入监听队列中,当LMKD将触发会去遍历进程,如资源超过了duraspeed的设定规则,会触发onPoorHealth,去kill掉得分低的进程。或者onScreenOff后五分钟,也会forceStopPackage掉app。

二、解决步骤

方式一、关闭快霸
/** 在device/along/xxxx/ProjectConfig.mk中修改 **/
//MTK_DURASPEED_DEFAULT_ON = yes
//MTK_DURASPEED_SUPPORT = yes
MTK_DURASPEED_DEFAULT_ON = no
MTK_DURASPEED_SUPPORT = no
方式二、加入白名单
  • 以xml形式(我这套源码中没有发现此文件):
\frameworks\base\core\java\com\mediatek\runningbooster\platform_list.txt
  • 以代码形式:
/**在vendor/mediatek/proprietary/frameworks/base/services/core/java/com/mediatek/server/am/AmsExtImpl中修改**/public AmsExtImpl() {......    if (isDuraSpeedSupport) {String className1 = "com.mediatek.duraspeed.manager.DuraSpeedService";String className2 = "com.mediatek.duraspeed.suppress.SuppressAction";String classPackage = "/system/framework/duraspeed.jar";Class<?> clazz = null;try {sClassLoader = new PathClassLoader(classPackage, AmsExtImpl.class.getClassLoader());clazz = Class.forName(className1, false, sClassLoader);mDuraSpeedService = (IDuraSpeedNative) clazz.getConstructor().newInstance();clazz = Class.forName(className2, false, sClassLoader);mSuppressAction = (ISuppressAction) clazz.getConstructor().newInstance();} catch (Exception e) {Slog.e("AmsExtImpl", e.toString());}//add 过滤应用 begin    try {Method method= mDuraSpeedService.getClass().getMethod("getPlatformWhitelist", null);//获取白名单列表Object obj = method.invoke(mDuraSpeedService);                if(obj != null && obj instanceof List) {List<String> list = (List<String>) obj;//加入自己的过滤applist.add("com.my.launcher");//更新白名单method = mDuraSpeedService.getClass().getMethod("setAppWhitelist", List.class);method.invoke(mDuraSpeedService, list);}}catch (Exception e){Slog.e("AmsExtImpl add app to whitelist ", e.toString());}}//add 过滤应用 end......    }

PS:duraspeed的核心功能是以jar包导入的,具体可查看vendor/mediatek/proprietary/frameworks/opt/duraspeed_lib下的jar包。

三、参考

参考一、 参考二

处理MTK中DuraSpeed(快霸)引起的app被莫名其妙kill掉相关推荐

  1. 发adb强制打开关闭webview应用,关闭后打开web显示白屏,默认关闭快霸。移除快霸。工模测试,蓝牙测试,前后摄像头测试没有成功失败按钮。

    发adb强制打开关闭webview应用,关闭后打开web显示白屏,默认关闭快霸.移除快霸: 这个就是预装了个快霸这个应用,设置里面找到这个应用信息,打开它,它是默认开启的,但不会在launcher上显 ...

  2. 访问的属性未定义_V8中的快属性

    在这篇博客文章中,我们将解释 V8 在内部是怎么处理 JavaScript properties 的.从 JavaScript 的角度来看,properties 只有几个必要的区别.JavaScrip ...

  3. 在Flutter中更快地加载您的图像资源

    本文主要介绍在Flutter中更快地加载您的图像资源 我们可以将图像放在我们的资产文件夹中,但如何更快地加载它们?这是 Flutter 中的一个秘密函数,可以帮助我们做到这一点 - precacheI ...

  4. idea中drl文件_得分DRL:在OptaPlanner中更快,更轻松

    idea中drl文件 对于OptaPlanner (= Drools Planner)6.0.0.Beta1,我已经用更优雅的ConstraintMatch系统替换了ConstraintOccurre ...

  5. linux 词霸,Linux中的词霸

    Linux中的词霸 Linux中的词霸 何晓龙2004年5月31日 第21期 星际译王是Linux中遵循GPL的英汉.汉英字典程序,它具有"规则/模糊查询"."屏幕取词& ...

  6. 批量追踪中通快运物流,并将信息导出EXCEL表格

    一般我们批量查询中通快运物流时,可以把查询后的信息以导出EXCEL表格的形式保存到电脑上吗?小编的回答当然是可以的,下面一起来操作. 查询中通物流 打开软件,在"添加单号"功能上, ...

  7. 大量查询中通快运在途信息,并分析中转延误

    中通快运物流信息怎么查询?可以在电脑上操作吗?快递批量查询高手可以支持吗?小编的回答当然是可以的,下面就以快速查询中通快运物流并分析中转延误的单号为例,一起来试试. 如下图所示,第一天上午是在这个目的 ...

  8. 小米手机中的快应用服务器,盘点MIUI里快应用2种开启方法

    盘点MIUI里快应用2种开启方法 2020-04-18 16:51:33 0点赞 0收藏 0评论 hello,社区的朋友们,又到了每周一更的时刻了,今天Flashcer和大家一起讨论下"快应 ...

  9. 快速查询出中通快运物流信息,将信息导出EXCEL表格

    中通快运也是中通旗下的快运品牌,是不少商家用户寄件选择,大家都是如何快速查询中通快运物流的走向信息呢?并将信息详情导出表格保存的?下面一起用快递批量查询高手来试试. 先查看快递批量查询高手快速查询出来 ...

最新文章

  1. ASP.net中的validaterequest
  2. 3天,让你的C++从入门到精通
  3. 树莓派i2c python_树莓派2 python i2cPython中chr、unichr、ord字符函数之间的对比
  4. android AVB2.0学习总结
  5. 一张图片解决 Python 所有内置异常
  6. 平时有没有使用xml和json
  7. [渝粤教育] 西南科技大学 公共事业管理概论 在线考试复习资料
  8. 作业要求 20181030-1 Alpha发布用户使用报告
  9. 双重差分模型能做固定效应吗_互助问答第213期:模型中的固定效应问题
  10. matlab频谱分析_想知道有限精度对FFT的影响?Matlab仿真看看
  11. php 10环境一键安装包下载,php环境一键安装包
  12. SAS 9.4 无法正常卸载,手动彻底删除相关文件
  13. 计算机ip保留地址,ip地址显示为保留地址怎么解决
  14. mysql查询excel表_使用SQL语句实现对Excel工作表数据进行查询的方法
  15. 基于SSM实现手机销售商城系统
  16. 【pytest】三、pytest用例管理框架的前后置(固件、夹具)setup和teardown,及封装
  17. 杰里之697N进入定频测试和校正频偏】【篇】
  18. idea中使用git创建分支与标签
  19. 夺命雷公狗---DEDECMS----20dedecms取出栏目页对应的内容
  20. kpw1 5.6降级

热门文章

  1. xshell 隧道 mysql_u盟及xshell的mysql或redis隧道的配置等-------windows
  2. 计算1~10阶乘然后累加
  3. 关于使用库pymysql连接不上数据库的一个解决方法
  4. php禁止查看源代码,查看“禁止视频网站”的源代码
  5. mysql 外键关联_mysql外键关联
  6. 关系运算(比较运算)逻辑运算
  7. python fpga chips_基于FPGA实现JESD204B高速接口设计
  8. 错误 CS1069 未能在命名空间“System.IO.Ports”中找到类型名
  9. 京东2019春招算法工程师笔试 题解 临时版
  10. python时间序列分析航空旅人_Python深度学习教程:LSTM时间序列预测小练习—国航乘客数量预测...