异常集合

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@416052f0 is not valid; is your activity running?

如在一个Activity中有new CustomDlg(XXXActivity.this).show();即显示一个dialog,当访问网络搜索出一个电影院后,弹出此dialog,还没等到搜索出来就BACK键finish()当前的XXXActivity,就会出现上述异常。注意用android.app.Activity.isFinishing()函数判断。

java.lang.IllegalArgumentException: View not attached to window manager
	at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:385)
	at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:287)
	at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79)
	at android.app.Dialog.dismissDialog(Dialog.java:323)
	at android.app.Dialog.dismiss(Dialog.java:306)

以上异常,也是dialog去dismiss引起的,和BadTokenException有类似处。

Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
安装的apk不能比原apk的versionCode低,手机识别是否为同一apk是靠包名区分的。
java.util.ConcurrentModificationException
在遍历集合的过程中,不能对原集合进行增删改操作。

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

Activity继承Context,重写了startActivity(),在重写方法中定义了默认flag. 而我们直接从Context.startActivtiy调用时,由于无默认的flag,所以Context并不知是要将新ACTIVITY加入已知stack或是新建立stack。所以解决方案为,调用Context.startActivtiy()之前,给Intent定义flag为:FLAG_ACTIVITY_NEW_TASK。

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

原因是非主线程中默认没有创建Looper对象,需要先调用Looper.prepare()启用Looper。

Unable to start receiver com.xxx.receivers.BootCompletedReceiver: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

原因:FLAG_ACTIVITY_NEW_TASK,设置此状态,首先会查找是否存在和被启动的Activity具有相同的亲和性的任务栈(即taskAffinity,注意同一个应用程序中的activity的亲和性一样)。如果有,刚直接把这个栈整体移动到前台,并保持栈中的状态不变,即栈中的activity顺序不变;如果没有,则新建一个栈来存放被启动的activity。

Caught exception: com.thoughtworks.qdox.parser.ParseException: syntax error @[24,27] in file:/D:/j2ee_workplace/xx/Openfire/src/plugins/xxxPlugin/src/java/com/xx/of/plugin/xx/ABC.java

原因:在用ant编译openfire插件时,有些字符集或编码类型是不支持的,如某些中文字符、枚举类型。从错误信息可知,出错是在ABC.java中,从中检查是否有相关中文、是否有不被ant build支持的类型等等。

E/WindowManager(31968): android.view.WindowLeaked: Activity com.xxx.activities.XXXActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{42fb3f68 V.E..... R.....ID 0,0-864,983} that was originally added here

从异常描述(leak:泄漏)中,大致的意思是存在窗口句柄泄露,即未能及时销毁某个PhoneWindow。存在这么一种情况,即因我们在非主线程中的某些操作不当而产生了一个严重的异常,从而强制当前Activity被关闭。而在关闭的同时,却没能及时的调用dismiss来解除对ProgressDialog等的引用,从而系统抛出了标题中的错误,而掩盖了真正导致这个错误的异常信息。

java.lang.IllegalArgumentException: The surface has been released

在播放this.mediaPlayer.start()之前SurfaceView没有来的及调用onCreate()或者onChange()方法,导致holder没有成功加载,所以在start播放的时候抛出播放异常。

java.lang.NullPointerException: Attempt to read from field 'android.widget.TextView com.xiaojia.daniujia.ui.adapters.OrderListAdapter$Holder.consultTypeTv' on a null object reference

尝试在一个空对象引用读取字段。即android.widget.TextView com.xiaojia.daniujia.ui.adapters.OrderListAdapter$Holder为null了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itzyjr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值