改上线崩溃异常总结
来源:互联网 发布:软件下载任务中国 编辑:程序博客网 时间:2024/06/08 14:38
一、吐槽
项目大版本一上线,然后我们公司买了崩溃监测的平台,一看一大串英文,一大串log,头疼,现在也改得头疼,不过差不多都已经解决了。
二、总结
1.1.问题描述
Caused by: java.lang.NullPointerExceptionat com.zhubajie.app.main_frame.UserCenterFragmentNew.d(Unknown Source)at com.zhubajie.app.main_frame.UserCenterFragmentNew.g(Unknown Source)at com.zhubajie.app.main_frame.UserCenterFragmentNew.d(Unknown Source)at com.zhubajie.app.main_frame.v.onReceive(Unknown Source)at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:763)1.2.解决办法
定位到代码的地方发现:
mNickName.setText(userinfo.getNickname());
大概就是说userinfo.getNickname()可能为空,这样就导致错误。解决办法就是再实体类修改:
public String getNickname() {return nickname;}把return nickname;改成return nickname == null ? "": nickname;
2.1问题描述
java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{42ed6e60 V.E..... R.....I. 0,0-960,1845} not attached to window manager
2.2解决办法
就是在dialog,dismiss的时候,它所依附的activity可能会null或者正在消失,你需要进行判断。
if (dialog != null && dialog.isShowing() && mActivity != null && !mActivity.isFinishing()) { dialog.dismiss(); }3.1问题描述
Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12
3.2解决办法
注意你的布局文件中,margin好像低版本不兼容,可以改为padding。另外也有可能是api的兼容性,比如button.setBackground();低版本会不兼容。需要改为button.setBackgroundDrawable();其实进入setBackground()的源码,你可以发下基本都是用的setBackgroundDrawable()这个方法。
4.1问题描述
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@28d6a16c is not valid; is your activity running?
4.2解决办法
因为new对话框的时候,参数content 指定成了this,即指向当前子Activity的content。但子Activity是动态创建的,不能保证一直存在。其父Activity的content是稳定存在的,将content替换为getParent()即可。
三、注意事项:
dialog在创建new,show,dismiss的时候都要考虑到所依附的activity为null或者正在结束的情况。
欢迎关注个人微信公众号,专注于Android深度文章和移动前沿技术分享
1 0
- 改上线崩溃异常总结
- 上线总结
- iOS上线产品崩溃分析
- 总结Windows程序的异常处理(dmp文件,防止崩溃)
- Unity3D引擎崩溃、异常、警告、BUG与提示总结
- 异常崩溃码对照
- Android 处理崩溃异常
- Android捕获崩溃异常
- mfc异常崩溃处理
- iOS崩溃异常处理
- 程序崩溃---autorelease异常
- 处理XCode 异常崩溃
- ios 异常 防止崩溃
- Android捕获崩溃异常
- IOS崩溃 异常处理
- Android处理崩溃异常
- Android捕获崩溃异常
- 捕获程序崩溃异常
- Java语言实现的Hack语言汇编编译器——加法器部分
- hls流媒体:ts流格式介绍 已有 2028 次阅读2015-2-26 14:13 |个人分类:视频直播| 流媒体 1.ts简介 ts流最早应用于数字电视领域,其格式非常复杂包含的配置信息表
- 逻辑回归(logistic regression)
- Oracle 树操作(select…start with…connect by…prior)
- 数据流图 系统流程图 程序流程图 程序的系统结构图
- 改上线崩溃异常总结
- 在XIB 或者Storyboard 上面 控件的大小,位置都是对的, 但是显示的时候,就不对了 的解决办法
- centos7 安装R语言遇到的各种坑
- Java Sleep() 与 Wait()的机制原理与区别
- 线程间的通信
- GStreamer调试 参数与函数的使用
- Mac下Python调用C动态库
- GCD介绍
- MySql学习笔记