红米note2xp框架5小米服务框架居然耗电排第一,怎么解决

当前位置:
> 帖子正文
小米服务框架走流量很严重,求解决办法
如题,近一半的流量都被小米服务框架消耗了,有办法解决吗?
不吐不快,我来说两句...
最新评论(3)
发表于: 21:59:02
内容gjgggghhffffg
发表于: 13:38:03
看帖顶帖这是必须滴!强烈支持楼主!
发表于: 15:28:33
同求同求同求同求同求同求
发表于: 13:57:09
同求同求同求同求同求同求
您需要注册登录后,才能回帖哦!
嘘~这里的黎明静悄悄~
参考价:¥699
上市时间:2018.06
上市时间:2018.03
上市时间:2017.12
上市时间:2017.08
上市时间:2017.12
上市时间:2018.05
上市时间:2018.06
上市时间:2018.05
上市时间:2018.06
上市时间:2018.03
上市时间:2018.06
上市时间:2018.05
上市时间:2018.05
上市时间:2018.06
上市时间:2018.06
12345678910
12345678910
12345678910
您已经签到了,请明天再来吧!文章均在独立博客:ittiger.cn和此博客发布,QQ群:
红米Note调用系统相机拍照后应用崩溃问题分析解决
这几天突然发现红米Note手机只要调用系统相机进行拍照时,我的应用必定会崩溃。这个问题折腾了好久才解决,现在记录下问题跟踪解决的过程和方法。(红米Note手机的系统太坑爹了%&_&%)
解决办法请直接从第7条开始看,1~5条为我的问题处理过程,第6条为问题原因分析。
1. 问题刚出现的时候,当然是想调试,在调用系统相机拍照的前后代码出打好断点准备调试,结果发现这段代码没有任何异常(其实想想也是正常的,因为其他手机都是好的,唯独红米Note有问题,要是这段代码有问题,其他手机应该也有问题,这一步真是多余)
2.既然暂时找不到系统崩溃时代码的出错行,那只有去查看系统崩溃日志了(这里提一下,应用开发时一定要通过UncaughtExceptionHandler捕获系统未处理的系统,并在uncaughtException(Thread thread, Throwable ex)方法中记录异常日志,不然应用运行中崩溃了完全无法快速准确的定位错误信息)。
3.当我打开日志文件一看,傻眼了,这日志记录完全无法定位错误信息(日志记录不完全,也没有准确记录,没有记录出错的代码行以及相关的方法运行栈信息)。没办法,我只能想办法重新改写记录日志的方式,下面是我记录异常信息日志的方法,可以准确的定位到出错的代码行和方法,以及其运行前后的方法栈信息:
public void uncaughtException(Thread thread, Throwable ex) {
String logdir = logP
File file = new File(logdir);
boolean mkS
if (!file.isDirectory()) {
mkSuccess = file.mkdirs();
if (!mkSuccess) {
mkSuccess = file.mkdirs();
StringBuffer sb = new StringBuffer();
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
Writer writer = new StringWriter();
PrintWriter printWriter = new PrintWriter(writer);
ex.printStackTrace(printWriter);
Throwable cause = ex.getCause();
while (cause != null) {
cause.printStackTrace(printWriter);
cause = cause.getCause();
printWriter.close();
String result = writer.toString();
sb.append(result);
String time = formatter.format(new Date());
String logFile = logdir + File.separator + time + ".log";
FileOutputStream fos = new FileOutputStream(logFile);
fos.write(sb.toString().getBytes());
fos.close();
} catch (Exception e) {
Log.e(TAG, "an error occured while writing file...", e);
if (!handleException(ex) && mDefaultHandler != null) {
mDefaultHandler.uncaughtException(thread, ex);
Thread.sleep(1000);
} catch (InterruptedException e) {
Log.e(TAG, "Error : ", e);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(10);
4.重新运行了几次,发现每次出错的地方竟然还不一样(但每次出错都是空指针异常引起的),有时候是调用系统相机的那个Activity的onCreate方法调用的时候出现空指针,有时候是调用系统相机的前面一个Activity的onCreate方法中出现空指针(假设界面A跳到界面B,在B中调用系统相机,出错的时候A和B中的onCreate方法里都有空指针异常信息),知道出现错误的代码行数这救你好办了,赶紧打好断点准备调试,结果竟然发现不管怎么操作,代码就是不进断点。
5.代码不进断点,就没法找到问题根源,只能分析代码寻求解决办法了,我在出现空指针错误的地方加上非空判断,重新运行发现这几个地方虽然不出错了,但是又在其他的地方出现空指针异常了,经过分析发现所有出现空指针的地方都是我的自定义Application里面的某几个static引用型变量为空了。分析到这里,在加上前面的代码不进断点以及空指针出现onCreate方法中,猜测是不是应用直接被系统回收了。
6.调用系统相机的时候,应用被系统回收(Application、处于后台和前台的Activity都被销毁,静态变量全部消失),此时拍照完成之后重新恢复创建Activity(重新创建的时候,手机与编辑器的调试状态肯定就断掉了,因此通过onCreate重新创建Activity时无法进到断点),重新调用onCreate时,因为该方法中有用到自定义Application里的static变量(此时已被销毁),所以会出现空指针异常。至于为什么界面A和B对应的onCreate方法中都会出现空指针,那是因为B调用系统相机完成之后会重新创建,创建失败之后按照Activity的栈顺序会接着创建界面A,而A中的onCreate方法里也用到了自定义Application里的static变量,所以也出现了空指针。
7.既然知道了问题原因,那就来寻求解决办法,我在onSaveInstanceState(Bundle outState)方法中保存当前Activity里操作过的所有变量信息,然后在重新创建该Activity时通过onRestoreInstanceState(Bundle savedInstanceState)方法来恢复这些数据信息(这两个方法的执行机制请参考我的另外一篇文章:),同时在onCreate中用到自定义Application里的static变量的地方进行非空判断(为空的时候进行重新初始化),进过这一系列的代码处理之后,再次运行正常,完美解决问题。
8.不过在步骤7中解决问题时发现,在处理应用被回收重新创建时要注意如下几点:
Activity里用户操作的所有数据全部需要保存Activity中第一次初始化时获取到的变量也需要保存用户登陆后所有拥有的相关权限也需要进行处理保存数据恢复时要考虑当前Activity引用的其他Activity或Application里面的变量的再次初始化所有自定义对象都最好能被序列化,否则无法进行状态保存尽量少用static类型的变量有些服务能不在Application中初始化,最好不要在Application中初始化。在Application中定义的变量最后都在Application中进行初始化创建,不要部分在Application进行初始化,部分在其他的Activity里进行初始化应用开发时要考虑到应用被回收的情况,以便真正被回收后能方便的解决(虽然应用被回收的几率很低,但是不排除某些坑爹的手机很容易被回收,就像红米Note一样)。
欢迎访问我的个人博客:
write by laohu
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!& &移动叔叔红米Note5玩机论坛为您提供红米Note5一键解锁BL&ROOT工具软件/官方原厂ROM固件升级更新/RECOVERY刷机教程/晒机评测分享/USB联机驱动软件游戏下载/串号无效IMEI恢复等内容,红米Note5全网最全新手玩机宝典尽在移动叔叔论坛。
红米Note5参数:
&&红米Note5玩机QQ群:①群: & && && &&&②群:
&&移动叔叔综合玩机群: (2千人群)
昨天&18:50
昨天&23:12
昨天&19:15
昨天&17:58
昨天&14:41
前天&20:06
昨天&14:55
昨天&10:59
前天&06:37
前天&09:26
移动叔叔. 版权所有,专业的网络售后平台 (
商务合作||||小米服务框架是什么东西这么耗电!【红米note5吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:20,651贴子:
小米服务框架是什么东西这么耗电!收藏
小米服务框架是什么东西这么耗电!
苏宁易购小米,给力大促,狂欢到底,全国联保,服务一站式,体验心动购物!苏宁易购小米,支持货到付款,让您省钱更省心!
能删除或者结束运行吗,
屏幕亮了多长时间
我猜你用的大王卡
电池用了21小时?
登录百度帐号小米服务框架是什么??耗电量排第一位。待机耗电大户,怎么破_小米吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:5,454,573贴子:
小米服务框架是什么??耗电量排第一位。待机耗电大户,怎么破收藏
小米服务框架是什么??耗电量排第一位。待机耗电大户,怎么破
没法破吧 除非不用miui
登录百度帐号

我要回帖

更多关于 红米note4安装xp框架 的文章

 

随机推荐