clash royale 新手教程
处理流程是非常重要的。 native crash流程上篇文章已经分析过了,今天再来看看Java crash的处理流程。
该方法是RuntimeInit用来上报app崩溃时调用。 当这个方法返回后,App进程将会退出。
停止崩溃进程接收广播;增加ServiceRecord中的crashcount数;销毁所有的activies;
弹出崩溃对线. 如果选择重新启动,则从最近任务列表中找到崩溃进程,再次拉起 3.2. 如果选择强制退出,则杀掉app,进入kill流程 3.3. 如果选择显示应用信息,则启动系统页面的intent,打开应用详情页面
在1和3中都还没有执行杀应用流程,回顾2.2中的流程,在finally语句中都会走杀进程逻辑。
至此,应用进程已经被杀死,但是还没完。因为system server进程中有注册Binder服务的死亡监听。当App进程死亡后,会回调到AMS 的死亡监听中,此时还需要处理Binder死亡通知回调逻辑。
至此,Binder死亡通知后的处理流程也基本走完,App的整个java crash流程也宣告结束了。
当App发生崩溃后,除了弹出对话框,发送kill命令杀掉自身后。AMS还会收到App进程的Binder服务死亡通知,只有当走完Binder的 binderDied()流程后,整个崩溃流程才算真正结束。
以上就是Android Java crash 处理流程详解的详细内容,更多关于Android Java crash处理流程的资料请关注我们其它相关文章!
声明:凡注明本站原创的所有文字图片等资料,版权均属编程客栈所有,欢迎转载,但务请注明出处。
SpringCloud+nacos部署在多ip环境下统一nacos服务注册ip(亲测有效)
SpringCloud+nacos部署在多ip环境下统一nacos服务注册ip(亲测有效)
编程客栈为广大编程爱好者、程序员提供专业且权威的编程教程,是您学习软件编程、网络编程、数据库、操作系统、程序设计、脚本、网页制作、建站技术、网站技巧、网络知识技术、CMS教程等必备网站,我们希望成为您心中理想的编程学习网站clash royale 新手教程。