首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android程序崩溃重启

有时候由于测试不充分或者程序潜在的问题而导致程序异常崩溃,这个是令人无法接受的,在android中怎样捕获程序的异常崩溃,然后进行一些必要的处理或重新启动 应用这个问题困恼了我很久,今天终于解决了该问题...首先捕获程序崩溃的异常就必须了解一下java中UncaughtExceptionHandler这个接口,android沿用了此接口,在android API中: ?...                    Intent.FLAG_ACTIVITY_NEW_TASK);                                                  //退出程序...AlarmManager.RTC, System.currentTimeMillis() + 1000,                         restartIntent); // 1秒钟后重启应用...如何杀死异常进程,重启应用,就得使用PendingIntent,这个类是android中对Intent类的包装,具体了解我会在写一篇博客,自己也可以去查看android API。

2.2K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    捕获崩溃异常并重启程序,上传崩溃日志到服务器

    App的上线测试不可能囊括所有的错误,以及一些极端的情况可能考虑不到, 所以给App设置崩溃日志反馈是很有必要的,很多第三方都有做到,例如说腾讯的Bugly,友盟的统计等等,都可以实现到,但是如果仅仅是需要向服务器反馈崩溃日志的话...系统的API中给我们提供了一个可以捕获App异常的方法: Thread.setDefaultUncaughtExceptionHandler(restartHandler); // 程序崩溃时触发线程...以下用来捕获程序崩溃异常 所以我们就可以使用以上方法来解决反馈崩溃日志的需求,以下是具体代码: /** * 创建服务用于捕获崩溃异常 */ private static...,重启应用 } }; /** * 重启App */ private static void restartApp(Throwable ex)...这里可以(进行某些操作,例如说上传信息) android.os.Process.killProcess(android.os.Process.myPid()); //结束进程之前可以把你程序的注销或者退出代码放在这段代码之前

    94420

    ubuntu 12.04 配置内核崩溃自动重启及转存

    默认ubuntu12.04没有配置内核崩溃自动重启及转存,造成发生内核崩溃的时候,没有core dump文件去分析,并且卡死在内核崩溃界面,为了方便查找内核崩溃原因,需要将内核崩溃自动重启配置及内核转存配置起来...,配置步骤如下: 第一步 配置内核崩溃自动重启 添加kernel.panic到内核参数,10为内核崩溃10秒之后,自动重启系统 vi /etc/sysctl.conf  kernel.panic = 10...模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令 echo c  >/proc/sysrq 看以看到内核崩溃,并读秒重启 ?...第三步 配置内核转存 新装的系统需要升级下,否则不能通过apt-get安装软件 apt-get update 安装内核转存 sudo apt-get install linux-crashdump 查看是否生效...测试,模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令 发现系统崩溃,并卡死住,没有发送转存,也没有重启! ?

    1.5K10

    用monit监控mongodb,崩溃后自动重启mongdb

    什么是monit Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。...Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。...Monit可以监控服务器进程状态、端口状态,HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。...mongodb start" restart program = "/usr/bin/sudo service mongodb restart" #如果端口27017无法访问则认为服务失败,发报警邮件并重启服务...if failed port 27017  type tcp then alert if failed port 27017  type tcp then restart #如果在三个周期内重启了3次

    1.8K00

    Ubuntu 12.04 配置内核崩溃自动重启及转存

    默认Ubuntu 12.04没有配置内核崩溃自动重启及转存,造成发生内核崩溃的时候,没有core dump文件去分析,并且卡死在内核崩溃界面,为了方便查找内核崩溃原因,需要将内核崩溃自动重启配置及内核转存配置起来...,配置步骤如下: 第一步 配置内核崩溃自动重启 添加kernel.panic到内核参数,10为内核崩溃10秒之后,自动重启系统 vi /etc/sysctl.conf...检查配置的参数是否生效 模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令 echo c  >/proc/sysrq 看以看到内核崩溃,并读秒重启...配置内核转存 新装的系统需要升级下,否则不能通过apt-get安装软件 apt-get update 安装内核转存 sudo apt-get install linux-crashdump...查看是否生效 测试,模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令 发现系统崩溃,并卡死住,没有发送转存,也没有重启

    1K30

    linux怎样重启命令,Linux重启命令介绍

    其中 shutdown、halt、poweroff、reboot 命令是用来停机、重启或切断电源, systemctl 命令管理 systemd,是 Linux 系统和服务器的管理程序。...运行下面的 init 命令重启设备: # init 6 6:重启重启设备。 通过 halt 命令关闭和重启 Linux 系统 halt 命令用来切断电源或关闭远程 Linux 机器或本地主机。...同时重启和关闭系统的命令不多,你可以选择其中拿手的来完成任务。 Linux重启命令与如何重启网络? 分享下Linux重启命令的用法,linux如何重启网络的方法?...… linux重启命令学习 Linux关闭和重启系统一般使用相同的命令可以实现....发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180822.html原文链接:https://javaforall.cn

    26.8K170

    程序崩溃与优化

    程序崩溃 程序崩溃是指计算机程序在运行时出现了严重的错误或异常情况,导致程序无法正常运行并突然终止。 1.1 程序崩溃出现场景 内存溢出: 在C程序中,内存分配通常由函数如malloc来完成。...如果程序未提供适当的异常处理机制,如使用try-catch块来捕获异常,程序可能会崩溃。在C中,除以零通常会导致程序终止,并且没有捕获异常的机制。...这将导致未定义行为,通常会导致程序崩溃。 #include #include int main() { // 5....内存溢出 int *arr = malloc(sizeof(int) * 100); arr[101] = 42; // 超出数组边界,可能导致崩溃 // 2....软件错误 int *ptr = NULL; *ptr = 42; // 试图访问空指针,可能导致崩溃 return 0; } 2.

    13810

    Linux重启命令与如何重启网络?

    1、shutdown 2、poweroff 3、init 4、reboot 5、halt *---具体说明--- shutdown reboot 在linux下一些常用的关机命令与重启命令有...这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和 新闻〔news〕的程序则可以正常地离开等等。...shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。...[-w] 并不是真正的重启或关机﹐只是写 wtmp〔/var/log/wtmp〕纪录。linux关机命令 [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。...Linux 如何重启网络 Linux下修改网络设置后无需重启计算机,只需要重新启动相关的设置选项即可,网络设置修改之后(比如更换IP,域等): 如果是redhat,重启网络可以输入 service network

    19.2K80

    Linux重启命令与如何重启网络?

    1、shutdown 2、poweroff 3、init 4、reboot 5、halt *---具体说明--- shutdown reboot 在linux下一些常用的关机命令与重启命令有...这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和 新闻〔news〕的程序则可以正常地离开等等。...shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。...[-w] 并不是真正的重启或关机﹐只是写 wtmp〔/var/log/wtmp〕纪录。linux关机命令 [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。...Linux 如何重启网络 Linux下修改网络设置后无需重启计算机,只需要重新启动相关的设置选项即可,网络设置修改之后(比如更换IP,域等): 如果是redhat,重启网络可以输入 service

    17.8K10

    Windbg分析程序崩溃实践

    刚刚熟悉完产品的小木,接到了后台服务的报警,服务器后端偶尔会程序崩溃。刚开始小木还有点慌张,脑子里面浮现出各种问题,这个是程序的bug吗?茫茫的代码如何寻找问题?log能看到线索吗?...blogserver程序是64位程序,小木决定采用procdump64去收集dump。于是在产品服务器上运行了如下的命令, 将程序产生的dump生成到C:\dumps目录下。...3.2 寻找程序崩溃的代码 加载完symbols后,我们来看下程序调用栈: 0:000> k # Child-SP RetAddr Call Site 00...RtlUserThreadStart+0x21 小木松了一口气,终于有点线索了,程序崩溃在函数LogStr,根据里面的行数提示,找到那段代码: void LogStr(std::string strContent...) { fprintf(stdout, strContent.c_str()); } 刚松了一口气,小木又疑惑起来,这个函数是用来打印博客标题的log的,一直都用,也测试过,怎么会偶尔导致程序崩溃

    1.2K30
    领券