您的位置:首页 > 移动开发 > Android开发

摘要Android 中常见的Bug

2016-02-18 11:10 351 查看
作为一名开发人员,与Bug打交道是难以避免的,不管是别人的还是自己的,但是如何才能减少Bug哪?给大家一个建议,平时多看Bug,分析他的类型,产生原因,才可以避免,如下是我摘录的几个Bug。

java.lang.NullPointerException

Attempt to invoke virtual method ‘int java.lang.Integer.intValue()’ on a null object reference

java.lang.RuntimeException:Unable to start activity ComponentInfo{import.-xxxxx-.xxxxActivity}: java.lang.NullPointerException: Attempt to invoke virtual method ‘int java.lang.Integer.intValue()’ on a null object reference

分析这个Bug原因,你会发现类型强转时候未做判空处理,(Integer) bundle.get(“from”),对这种情况一定要先判断是否为空,如果不为空再做强转。

if(intent != null){
Bundle bundle = intent.getExtras();
if(null!=bundle && bundle.get("from")!=null){
mFrom = (Integer) bundle.get("from");
}
}


E/WindowManager﹕ android.view.WindowLeaked: Activity com.sogou.androidtool.shortcut.AppFolderActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{3fbfde72 V.E….. R……. 0,0-1080,1118} that was originally added here

估计好多同学在Dialog使用中会经常出现这个Crash,究其原因,你会发现如果当前Activity 被销毁之后,如果还未对Dialog进行释放,就会造成Crash。所以切记一定要在当前Activity 的Destory 方法中释放.

public void onDestroy() {
if(mDialog!=null){
mDialog.dismiss();
}
}


java.util.ConcurrentModificationException

java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: