学习安卓开发怎么样系统应用程序里面的设定闪退怎么解决?

查看:36230|回复:40
资深技术经理
各位亲爱的午饭童鞋,是不是经常因为自己的程序中出现未层捕获的异常导致程序异常终止而痛苦不已?嗯,是的。。 但是,大家不要怕,今天给大家分享一个东东可以解决大家这种困扰,吼吼!
(二) UncaughtExceptionHandler接口
这个接口,顾名思义,就是处理程序中没有处理的异常,而且是在系统抛出异常导致程序异常终止之前哦!那么,在Android里面怎么使用呢?
(三) 怎么使用UncaughtExceptionHandler
1. 首先,咱们得创建一个UncaughtExceptionHandler的具体类,比如:复制内容到剪贴板代码:public class CrashHandler implements UncaughtExceptionHandler {
& & private static CrashH&&//单例引用,这里我们做成单例的,因为我们一个应用程序里面只需要一个UncaughtExceptionHandler实例
& & private CrashHandler(){}
& & public synchronized static CrashHandler getInstance(){&&//同步方法,以免单例多线程环境下出现异常
& && &&&if (instance == null){
& && && && &instance = new CrashHandler();
& & public void init(Context ctx){&&//初始化,把当前对象设置成UncaughtExceptionHandler处理器
& && &&&Thread.setDefaultUncaughtExceptionHandler(this);
& & @Override
& & public void uncaughtException(Thread thread, Throwable ex) {&&//当有未处理的异常发生时,就会来到这里。。
& && &&&Log.d(&Sandy&, &uncaughtException, thread: & + thread
& && && && && & + & name: & + thread.getName() + & id: & + thread.getId() + &exception: &
& && && && && & + ex);
& && && && & String threadName = thread.getName();
& && && && & if (&sub1&.equals(threadName)){
& && && && && && & Log.d(&Sandy&, &&xxx);
& && && && & }else if(){
& && && && && && && & //这里我们可以根据thread name来进行区别对待,同时,我们还可以把异常信息写入文件,以供后来分析。
& && && && &&&}
}2. 其次,我们自定义Application类复制内容到剪贴板代码:public class OurApplication extends Application {
& & @Override
& & public void onCreate() {
& && &&&super.onCreate();
& && &&&CrashHandler handler = CrashHandler.getInstance();
& && &&&handler.init(getApplicationContext()); //在Appliction里面设置我们的异常处理器为UncaughtExceptionHandler处理器
}3. 配置AndroidManifest.xml文件
由于我们使用自定义的Application,所以我们要在AndroidManifest.xml文件中申明它复制内容到剪贴板代码:&application
& && &&&android:icon=&@drawable/ic_launcher&
& && &&&android:label=&@string/app_name&
& && &&&android:name=&.OurApplication&
& && &&&android:debuggable=&true&
& && &&&&4. 测试
我们在Activity里面启动一个线程,然后线程里面抛出一个异常,看看程序会怎么样复制内容到剪贴板代码:Button btn = (Button) findViewById(R.id.bt);
& && &&&btn.setOnClickListener(new View.OnClickListener() {
& && && && &@Override
& && && && &public void onClick(View v) {
& && && && &
& && && && && & Thread thread = new Thread(new Runnable() {
& && && && && && &&&@Override
& && && && && && &&&public void run() {
& && && && && && && && &Log.d(&Sandy&, &I am a sub thread&);
& && && && && && && && &String s =
& && && && && && && && &s.toString();&&//抛出NullPointException
& && && && && && &&&}
& && && && && & }, &sub&&thread&);
& && && && && & thread.start();
由于我们有默认未处理异常的处理程序,所以会打印下面的日志信息,而不会抛出异常导致程序异常终止
D/Sandy& &( 2228): I am a sub thread
D/Sandy& &( 2228): uncaughtException, thread: Thread[sub&&thread,5,main] name: sub&&thread id: 148exception: java.lang.NullPointerException
大家还等什么呢?赶紧在自己的应用里面添加上默认未处理异常处理器吧!再也不会因为异常未捕获发生程序崩溃了。。^_^
好东西,果断收藏!
资深技术经理
话说,我已经解决无数个因为神马空指针导致的程序异常终止问题了,郁闷啦。。 ;P1&&现在好了,一劳永逸。。
最有价值午饭
:)1 还不错,之前有这样写过哈。。。
资深技术经理
引用:原帖由 xuzw13 于
11:35 发表
:)1 还不错,之前有这样写过哈。。。 我是跟别人聊天,然后大家聊到这个方面,就去找了下。没想到还真有。。;P1
支持下技术党:D1
一脸茫然 看不懂...:o1 :o1
资深技术经理
引用:原帖由 yan 于
06:55 发表
一脸茫然 看不懂...:o1 :o1 那我该伤心了。。 :'(
我是新手,收藏了哈
初级工程师
我也一脸茫然:Q
资深技术经理
引用:原帖由 无风_起浪 于
21:20 发表
我也一脸茫然:Q 这个,。。 其实说白了,就是设置一个未处理异常的处理器,这样,程序就不会因为异常未处理而终止了。:)1
:lol1 :D1 :loveliness:1
高级工程师
完全不知道在说些什么,好吧,我连新手都不算,我只不过是过来瞧瞧的……顺便帮忙顶一下。:lol1
夜明堂前弹瑶琴,佳人月下舞流云;莽汉不言英雄志,青梅煮酒伴红颜。
我也有点茫然哦,
好东西&&貌似异常之后虽然不会中止程序,貌似也不会继续运行异常下面的代码
本帖最后由 籽2012 于
16:41 编辑
资深技术经理
引用:原帖由 籽2012 于
16:39 发表
好东西&&貌似异常之后虽然不会中止程序,貌似也不会继续运行异常下面的代码 嘿嘿,是滴,它会跑到我们上面设置的异常代码。比如保存异常信息到服务器或者什么的。
只能避免程序弹出 “com.xxx.xx异常终止”之类的对话框~~:lol1
助理工程师
:$1&&看标题就是好东西 果断收藏先
资深技术经理
引用:原帖由 林的理想 于
10:00 发表
:$1&&看标题就是好东西 果断收藏先 过奖,过奖了,林兄。。
初级工程师
引用:原帖由 rongwei84n 于
08:36 发表
这个,。。 其实说白了,就是设置一个未处理异常的处理器,这样,程序就不会因为异常未处理而终止了。:)1 是这个java看不懂啊
资深技术经理
引用:原帖由 无风_起浪 于
12:15 发表
是这个java看不懂啊 那要不来论坛 总结贴里面学习学习? :lol1
很好。。。手机应用程序停止运行了怎么办?应用程序停止运行现象的解决办法介绍
互联网 & 04-23 09:46:36 & 作者:佚名 &
部分安卓手机用户在运行某APP时,会弹出“应用程序停止运行”的报错提示,或是APP直接闪退,那么,遇到这些问题我们应该如何解决呢?针对此问题,本文就为大家介绍应用程序停止运行现象的解决办法
很多使用Android手机的用户都碰到过这样一种情况:运行某APP时,弹出&应用程序停止运行&的报错提示,或是APP直接闪退。当遇见这些问题一般是手机内存不足导致应用强制退出或者程序版本和系统存在兼容性问题。这时可以尝试下下面几种解决办法解决应用程序停止运行问题。
应用程序突然停止运行该如何解决?
一、应用程序APP缓存和数据过多,导致强制退出
如果某款APP以前运行好好的,但突然出现&应用程序停止运行&,这时我们可以试试清理该APP的缓存数据。以网易新闻为例,进入&设置&应用程序&全部&,找到并点击网易新闻的图标,在应用信息界面中选择&清除数据&以及&清除缓存&即可。
二、当然程序出现停止运行也可能是系统内存不足引起的。我们关闭一些不常用应用释放部分内存即可
三、通过手机里装的第三方安全类的软件,如360安全卫士或者手机自带的安全中心进行垃圾清理
四、可能是该应用程序和当前系统存在冲突
刚刚安装的某APP出现了运行报错的问题,则很有可能是该APP与手机当前的系统存在冲突。要解决的话要不是将手机系统更新到最新版本,或者将APP更新到最新版本。
五、一些支持存储卡应用安装的也容易出现上述应用停止运行问题,以此在以后选择程序安装位置,请选择&由系统决定&。
六、程序本身问题:有些程序本身存在问题,如前期腾讯组件出现问题,导致腾讯游戏出现停止运行的提示。
小提示:如果某APP在升级最新版本后出现了报错,则可断定是新版APP与系统有冲突。我们可以在应用市场下载历史版本安装。
以上六中情形基本上包括所有日常遇到的手机应用停止运行的情况,如果还是无法解决可以考虑恢复出厂设置或者刷机。
猜你喜欢:
猜你喜欢:
大家感兴趣的内容
12345678910
最近更新的内容经验1572 米
在线时间7 小时
版本7.5.25
积分 1681, 距离下一级还需 319 积分
积分 1681, 距离下一级还需 319 积分
机型小米手机5
签到次数68
MIUI版本7.5.25
今日头条,微博,淘宝都闪退,怎么办,求解,不要和我说清理内存,重新下载啊,不管用
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验3260 米
在线时间39 小时
版本7.2.24
积分 3803, 距离下一级还需 1197 积分
积分 3803, 距离下一级还需 1197 积分
机型小米手机5
签到次数28
MIUI版本7.2.24
微博不会闪退
经验1572 米
在线时间7 小时
版本7.5.25
积分 1681, 距离下一级还需 319 积分
积分 1681, 距离下一级还需 319 积分
机型小米手机5
签到次数68
MIUI版本7.5.25
我的闪退啊,,
经验3280 米
在线时间143 小时
版本8.1.12
机型小米手机5
签到次数32
MIUI版本8.1.12
线刷一次就好
经验3209 米
在线时间57 小时
机型小米手机5
签到次数43
MIUI版本8.4.2
淘宝也不会
经验1572 米
在线时间7 小时
版本7.5.25
积分 1681, 距离下一级还需 319 积分
积分 1681, 距离下一级还需 319 积分
机型小米手机5
签到次数68
MIUI版本7.5.25
完了,那我手机有问题了,你们今日头条闪退么?
经验50777 米
在线时间1223 小时
版本8.4.12
MIUI 10内测体验组
机型小米手机6
签到次数192
MIUI版本8.4.12
直升的建议恢复出厂设置试一下,因为这些APP并不都是不兼容的问题,那么就是直接升级上来系统的问题
经验20308 米
在线时间2975 小时
版本8.3.26
机型小米MIX
签到次数85
MIUI版本8.3.26
楼主,建议您先将手机解锁后线刷一次系统
具体方法:官网申请解锁-解锁手机-使用MIFlash线刷官方系统。
楼主在线刷前要记得备份好数据,线刷时要选择清除全部数据以防止数据冲突
附上申请解锁链接:
解锁教程:
线刷教程,官方通用刷机工具,以及最新刷机包链接:
经验3448 米
在线时间516 小时
版本8.4.19
机型小米平板1
签到次数72
MIUI版本8.4.19
你说的都不闪退,从自身找原因吧
经验3602 米
在线时间1820 小时
版本8.3.15
积分 4873, 距离下一级还需 127 积分
积分 4873, 距离下一级还需 127 积分
机型小米手机5
签到次数53
MIUI版本8.3.15
是偶尔的吧
2017年小金鸡勋章
回复2016年度评选活动贴
圣诞节勋章
参与圣诞活动
APP 1000万
MIUI论坛APP注册用户突破1000万纪念勋章
MIUI七周年
MIUI 9纪念勋章
参与红米Note 4X活动
2017圣诞节勋章
参与回帖活动
MIUI3亿用户纪念勋章
参与回帖活动
万圣节勋章
参加回帖活动
米兔月饼勋章
参加回帖活动
MIUI七夕鹊桥勋章
小米众筹2周年
参加回帖活动
新版论坛APP
更新新版APP
“澎湃S1 ”芯片纪念勋章
参与活动回帖可得
MIUI 300周
MIUI 300周更新纪念勋章
为奥运加油勋章
为奥运加油勋章
MIUI 8纪念勋章
MIUI 8纪念勋章
MIUI 7纪念勋章
MIUI五周年
MIUI五周年纪念勋章
已关注微信
已关注极客秀微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
发烧友俱乐部
发烧友俱乐部
MIUI年度优秀勋章
感恩节勋章
参与回帖活动
小米六周年
小米六周年米粉节
小米5发布会
参加小米5发布会直播页大转盘抽奖获得
小米7周年勋章
2017米粉节晒单赢专属勋章
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号注册花火通行证,没有账号
智能硬件分类
&>&&>& > 正文
分享文章到微信
关注花火网微信公众号
  安卓手机玩游戏都闪退怎么办?解决方法全在这里。安卓手机玩游戏都闪退怎么办?有时候玩到高潮,游戏就直接自己闪退了!!@#¥%……这到底是怎么回事?  闪退对于小编来说是坚决不能忍受的,为此小编就去搜寻了闪退的原因以及解决办法。相信大家看了这篇文章后,再也不用担心玩手机打游戏闪退了。  1.游戏应用与系统不兼容  游戏应用就与系统不兼容导致闪退的原因也有两种。第一种是游戏应用本身版本太低,在长时间闲置应用后,打开游戏一般都会直接闪退而不会自动更新,因为游戏很少有跨几个大版本的更新包。  第二种原因就是手机系统的版本太低,导致游戏与系统不兼容。比如当初Android 2.3上的应用,放在如今的Android
6.X上基本上都会有不兼容的情况发生。同样的,iOS的应用或多或少也对iOS版本有要求。  解决方法:游戏应用版本太低,可以先卸载再重新下载最新版本;而手机系统版本太低则需要更新了,假如你的手机不支持升级到新版本系统,那就趁机换个手机吧。
加载更多新闻
Copyright @
HUAHUO.COM, All Rights Reserved. 版权所有 花火网

我要回帖

更多关于 win10应用程序闪退 的文章

 

随机推荐