[发明专利]一种避免智能电视启动器出现ANR的方法有效
| 申请号: | 201310685853.9 | 申请日: | 2013-12-16 |
| 公开(公告)号: | CN103702191B | 公开(公告)日: | 2017-09-05 |
| 发明(设计)人: | 霍平华 | 申请(专利权)人: | TCL集团股份有限公司 |
| 主分类号: | H04N21/443 | 分类号: | H04N21/443 |
| 代理公司: | 深圳市君胜知识产权代理事务所(普通合伙)44268 | 代理人: | 王永文,刘文求 |
| 地址: | 516001 广东省惠州市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 避免 智能 电视 启动器 出现 anr 方法 | ||
技术领域
本发明涉及智能电视操作系统,尤其涉及一种避免智能电视启动器出现ANR的方法。
背景技术
目前,智能电视普遍采用Android操作系统作为操作平台,在Android平台上,如果智能电视应用程序有一段时间响应不够灵敏,系统会向用户显示一个提示应用程序无响应的对话框,这个对话框称为应用程序无响应(ANR:Application Not Responding)对话框,用户可以选择等待让应用程序继续运行,也可以选择“强制关闭”。对于一个运行合理流畅的应用程序而言,系统提示ANR对话框给用户会带来不好的用户体验。
现有技术Android应用程序通常运行在一个单独的线程(如main)中,应用程序所做的事情如果在主线程中占用太多时间就会引发ANR对话框,因为应用程序没有机会自己处理输入时间或者Intent广播。可见,应用程序对响应性能的设计非常重要,这样系统才不会显示ANR对话框给用户。通常情况下,Android系统中Activity(Android中一个负责与用户交互的组件)的最长执行时间为5秒,Broadcast Receiver的最长执行时间为10秒,因此,运行在主线程里的任何方法都应该尽可能少做事情,特别是,Activity在它的关键生命周期方法(如onCreate()和onResume())里尽可能少的去做潜在的耗时操作,例如网络或数据库操作,或者高耗时的计算(例如,改变位图尺寸),而应该在子线程中完成;同时,主线程应该为子线程提供一个Handler(Handler主要用于接受子线程发送的数据,并用此数据配合主线程更新界面),以便子线程完成时能够提交给主线程,这种方式设计应用程序,将能保证主线程保持对输入的响应并能避免5秒输入时间的超时引发ANR对话框。然而,通过这种方法来避免ANR对话框或者通过延长触发ANR对话框时间来避免也不可能完全避免ANR对话框现象的发生,在一些场景下,比如智能电视启动器在第一次启动的5~10秒的预加载过程中,用户频繁的按键输入可能会导致启动器加载过程中出现ANR对话框,影响用户的使用体验。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足之处,本发明为解决现有技术的缺陷和不足,提出一种避免智能电视使用过程中出现ANR对话框现象的处理方法。
本发明解决技术问题所采用的技术方案如下:
一种避免智能电视启动器出现ANR的方法,包括如下步骤:
监控系统中应用程序的启动器包名;
根据系统中存在的所述启动器包名来判断启动器是否在系统中启动,当启动器已启动,系统抛弃底层的按键事件;
根据系统中存在的所述启动器包名来判断启动器是否在系统中完成启动,当启动器启动完毕,系统恢复接收底层的按键事件。
作为进一步的技术改进,所述监控系统中应用程序的启动器包名具体采用如下步骤:
所述应用程序的启动器在系统中启动时触发框架层启动Activity方法,从该Activity方法中查询将要启动的应用程序的启动器包名。
所述判断启动器是否在系统中启动采用设置启动器包名的系统属性来标识启动器是否在系统中启动。
所述判断启动器是否在系统中完成启动采用设置启动器包名的系统属性来标识启动是否在系统中完成启动。
作为改进的方案,所述判断启动器是否在系统中完成启动还包括采用在确定启动器已启动后,同时开启一启动计时器,经过计时器预定时间后启动器尚未在系统中完成启动时,系统设置启动器完成启动。
所述计时器预定时间为5~10秒。
与现有技术相比较,本发明方法采取在Android系统启动器程序启动时,通过设置系统属性来识别启动器是否正在启动中,当启动器处于启动状态时抛弃所有底层传来的按键事件,按键事件不会传递给上层应用,以使应用程序在使用过程中对底层按键事件无法识别并不响应弹出对话框,当启动器启动完成后才修改系统属性以恢复底层按键事件的正常传递,同时,还可以给启动器启动过程设置计时器来计算启动过程所花费的时间,超过一定的时间也可修改系统属性以恢复底层按键事件的正常传递。有效解决了启动器启动过程中ANR事件的发生,改善了用户的使用体验。
附图说明
图1是本发明避免智能电视启动器出现ANR的方法优选实施例一的流程图。
图2是本发明避免智能电视启动器出现ANR的方法优选实施例二的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL集团股份有限公司,未经TCL集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310685853.9/2.html,转载请声明来源钻瓜专利网。





