功耗现象
留意下流量球
分析
现象:联通流量悬浮球会在某些网页才会出现。
对比发现:
1.不带联通流量悬浮球的界面CPU开核数1核,且电量540mA
2.带联通流量悬浮球的界面CPU开核数3核,且电量993mA
即屏蔽联通流量悬浮球来解决流量网页功耗大现象
优化前后测试电流数据如下
功耗原因
联通卡在原生浏览器中会出现流量球,并不断刷新流量数据,导致CPU被强制占用到3核最高频率运行,导致电流过大,一下会手机就严重发烫,且快速掉电。
具体日志如下:
Line 7: 01-10 20:16:26.391 3936 4171 D suhuazhi: shouldInterceptRequest url:http://120.80.57.123/www/default/base.js?v2.1
Line 9: 01-10 20:16:26.392 3936 3936 D suhuazhi: Tab onLoadResource url:http://120.80.57.123/www/default/base.js?v2.1
Line 24: 01-10 20:16:29.220 3936 4171 D suhuazhi: shouldInterceptRequest url:http://120.80.57.123/get?time=1484050589213&tlbsip=http://120.80.57.123/&website=video.m.baidu.com&charset=utf-8
Line 24: 01-10 20:16:29.220 3936 4171 D suhuazhi: shouldInterceptRequest url:http://120.80.57.123/get?time=1484050589213&tlbsip=http://120.80.57.123/&website=video.m.baidu.com&charset=utf-8
Line 25: 01-10 20:16:29.221 3936 3936 D suhuazhi: Tab onLoadResource url:http://120.80.57.123/get?time=1484050589213&tlbsip=http://120.80.57.123/&website=video.m.baidu.com&charset=utf-8
Line 25: 01-10 20:16:29.221 3936 3936 D suhuazhi: Tab onLoadResource url:http://120.80.57.123/get?time=1484050589213&tlbsip=http://120.80.57.123/&website=video.m.baidu.com&charset=utf-8
Line 26: 01-10 20:16:29.383 3936 4171 D suhuazhi: shouldInterceptRequest url:http://120.80.57.123/html/www/resources/templates/default/fullscreenbar/components.css?v=1482463411443
Line 27: 01-10 20:16:29.418 3936 4171 D suhuazhi: shouldInterceptRequest url:http://120.80.57.123/html/www/resources/templates/common/libs/framework.js?v=V500R005C60
……………..
解决方案
浏览器过滤掉联通悬浮球的uri及其执行脚本
http://120.80.57.123/www/default/base.js?v2.1
package com.android.browser.homepages;
public class HomeProvider extends ContentProvider {
public static WebResourceResponse shouldInterceptRequest(Context context,
String url) {
//Log.e(TAG, "shouldInterceptRequest: url=" + url);
try {
//#ifdef LAVA_EDIT
//suhuazhi.2017-01-11,remove unicom float ball
if (url.startsWith("http://120.80.57.123/www/default")) {
Uri uri = Uri.parse("content://com.android.browser.home/");
InputStream ins = context.getContentResolver().openInputStream(uri);
return new WebResourceResponse("text/html", "utf-8", ins);
}
// #endif
代码进一步优化
//#ifdef LAVA_EDIT
//suhuazhi.2017-01-11,remove unicom float ball
if (url.startsWith("http://120.80.57.123/www/default")) {
return new WebResourceResponse("text/html", "utf-8", null);
}
// #endif
测试现象如下:body不执行,悬浮球消失,功耗恢复正常
body不执行
悬浮球消失
结语
以前的功耗分析笔记,以后慢慢往CSDN搬,作为给自己的笔记参考,方便查看,也督促自己每天学习,人容易生锈。